Поскольку вы упоминаете :javascript
Я предполагаю, что вы используете haml для визуализации вида.
Обычно вы должны установить @works
в контроллере, то ваш взгляд код будет
:javascript
html_data = "#{j render :partial => 'other_portfolio', @works} }";
$("#other_portfolio").html(html_data)
Также обратите внимание, что если вы используете эту точку зрения в ответ на рельсы JSon вызова (например, link_to :remote => true
, вы должны использовать :plain
тег.
Если вы действительно хотите, чтобы установить переменную в вашей точки зрения, это, безусловно, возможно, но не внутри :javascript
или :plain
тега, но вы можете использовать его.
Как так:
- works = all_filter_record
:javascript
html_data = "#{j render :partial => 'other_portfolio', works} }";
$("#other_portfolio").html(html_data)
Примечание в то время как можно установить переменные в представлении, это считается плохим тоном иметь на много кода в представлениях, и установка переменных экземпляра подавно (установка переменной экземпляра предполагает вы собираетесь использовать его в большем количестве просмотров/частичных данных, но тогда как вы узнаете, где установлены данные?). Поэтому, если вам нужна переменная экземпляра: установите ее в контроллер.