У меня есть глубоко вложенное частичное представление, где я перебираю коллекцию @users
.Контроллер определяет @users
следующим образом:
class UsersController < ApplicationController
def following
@users = @user.followed_users
..
end
В частичных шаблонах я перебираю коллекцию, но никогда не определяю индивидуума коллекции как переменную экземпляра, вместо этого я передаю локальные переменныевместе с :object
:
<% if current_user.following?(user) %>
<%= render partial: 'unfollow', object: user, as: :user %>
<% else %>
<%= render partial: 'follow', object: user, as: :user %>
<% end %>
Проблема в ...
Внутри файла create.js.erb
, который обрабатывает действие Follow , например, я используюследующий код:
$('#follow_form').html("<%=j render partial: 'users/unfollow', object: user, as: :user %>");
Это дает мне следующие ошибки из моего журнала разработки:
ActionView :: Template :: Error (неопределенная локальная переменная или метод `user 'для #<#: 0x007fa17b9e57e0>):
Объявляю ли я частичное неверное в jQuery?Нужно ли определять user
где-то еще, как в контроллере?Если да, то как мне определить индивидуума коллекции как переменную экземпляра ?
Заранее спасибо!
РЕДАКТИРОВАТЬ: Включен связанный контроллер
Вот соответствующий контроллер, который обрабатывает запрос:
class RelationshipsController < ApplicationController
def create
debugger
@user = User.find(params[:relationship][:followed_id])
current_user.follow!(@user)
respond_to do |format|
format.html { redirect_to @user }
format.js
end
end