Rails 2.3.5
Это первый раз, когда я пытался визуализировать партиал из метода при вызове AJAX, где партиалу нужна локальная переменная.Запрос работает нормально, я не могу понять, в чем дело, и пока не могу найти что-то в поиске.Частичное визуализируется с локальным, переданным ему точно таким же образом в представлении.
@group = Group.find(params[:group_id])
respond_to do |format|
format.html {render :partial => 'group_show_user_list', :locals=>{:users=>@group.users}}
format.js
end
ошибка:
ActionView::TemplateError (undefined local variable or method `users' for #<ActionView::Base:0x8a33030>) on line #16 of app/views/groups/_group_show_user_list.html.erb:
13: <tbody>
14:
15:
16: <% users.each do |user| %>
17:
18: <tr id="dir_user_<%= user.id %>">
19: <td>
Возможно ли передать локальную переменную в парциальное, когда партиал визуализируется изнутри метода?Или я должен изменить частичное на переменную экземпляра?
Спасибо - очень признателен!
РЕДАКТИРОВАТЬ:
Это не совсем ответ, но в контроллере я добавил:
@users = @group.users
и вЧастичное Я добавил:
<% users = users || @users %>
Я не мог действительно изменить весь частичный, потому что частичный первоначально вызывается со страницы индекса группы и нуждается в уникальной группе пользователей на основе одной группы, выбранной, когдаСтраница 'show' сначала генерируется.
Я все еще хотел бы знать, почему передача локального в партиал в методе не работает - например, если мне нужно сделать это иначе, чем когда вы передаетеЛокальные в частном в представлении, или если передача локальных просто не работает из метода - Спасибо!