Laravel 4, Pass a variable to route in javascript

In my opinion the simplest way is by concatenating javascript variable with blade string as follows.

Case 1: Route paramter is required

In this case pass the empty string in place of route parameter to by pass the required validation.

var url = "{{route('admin.stocks.edit', '')}}"+"/"+stock.id;

Case 2: Route paramter is optional

In this case you do not have to pass the empty string.

var url = "{{route('admin.stocks.edit')}}"+"/"+stock.id;

You can first use a placeholder to generate the URL with and then replace that in javascript.

var url = '{{ route("admin.stocks.edit", ":id") }}';
url = url.replace(':id', stock.id);
$('.stocks_list').append('<li><a href="'+url+'">' + stock.symbol + ' </a></li>');