我得到下面的表格上看到以下错误: NoMethodError在管理::用户#指数 未定义的方法`MODEL_NAME” ActiveRecord的::关系:: ActiveRecord_Relation_User:类未定义的方法 - “型号名称”
此表格位于索引页上。任何想法我得到这个错误?
形式:
<% @user.each do |user| %>
<div class="modal-footer">
<%= form_for(@user, :url => admin_user_inactive_path(user.id), html: { "role" => "form" }) do |f| %> # Error is occurring here...
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
<button type="submit" class="btn btn-primary">Inactivate User</button>
<% end %>
</div>
<% end %>
用户控制器:
def index
@user = User.where(del_flag: false).order('last_name DESC')
end
...
def inactive
@user = User.find(params[:user_id])
if @user.update_attribute(:inactive, true)
flash[:success] = "The account (" + @user.first_name + " " + @user.last_name + ") has been inactivated."
redirect_to action: :index
else
render 'edit'
end
end
您的@user变量是ActiveRecord :: Relation,而不是User的单个实例。 \ – MrYoshiji
我认为你有一个错误admin_user_inactive_path(user.id)应该是admin_user_inactive_path(@ user.id)还要添加User.where(...)。order(..)。第一个 – sirfilip
我修改了上面的代码以包含'<%@ user.each do | user | %>' – evanvee