Похоже, в вашем понимании есть пробел. Я не являюсь пользователем Rails, но я почти уверен, что содержимое внутри <% ...%> оценивается на сервере во время создания страницы для возврата в браузер. Это означает, что любые выражения, которые вы используете там, должны быть поняты rails, поэтому размещение выражения jquery там не будет работать.
С другой стороны, выражения JQuery оцениваются в браузере в результате какого-либо события браузера (например, нажатия пользователем кнопки). Похоже, что вы пытаетесь сделать это, захватить информацию браузера и затем обработать ее сервером. Это требует либо получения, либо публикации на сервере, что заставляет сервер перегенерировать содержимое страницы или выполнить какое-то действие (в зависимости от вашего кода между <% ...%>. Я делаю это примерно так:
$('#ingredient').click(function (e) {
var postParams = {};
postParams['ingredient'] = $(this).attr(name);
$.post('myPage',
postParams,
...
});
Это не рабочий код. Я просто пытаюсь дать вам идею.
Затем в коде вашей страницы вы извлекаете параметр из запроса, а не пытаетесь использовать выражение jquery.
Надеюсь, это поможет.