开发者

NoMethodError in UsersController#update

The error:

You have a nil object when you didn't expect it!
You might have expected an instance of Array.
The error occurred while evaluating nil.[]


app/controllers/users_controller.rb:45:in `update'

Controller users_controller

def update
    @user.groups = Group.find(@params[:group_ids]) if @params[:group_ids]
    if @user.update_attributes(params[:user])
      flash[:success] = "User updated."
      #Redirect back to current users, i've change this as after the admin edit a user it would redirect them
      #Too that users account which conflicts.
      #if current_user.admin? # If the current user is an admin move them back to the user list page.
        #redirect_to users_path
      #else # if its a normal user just redirect them back to there dashboard
        redirect_to @user
      #end
    else
      @title = "Edit user"
      render 'edit'
    end
  end

The view (edit.html.erb):

<% for group in @groups %>
    <%= check_box_tag "user[group_ids][]", group.id %>
    &开发者_StackOverflow中文版lt;%= group.description %>
    <% end %>


@user.groups = Group.find(@params[:group_ids]) if @params[:group_ids]

@user.groups = Group.find(params[:group_ids]) if params[:group_ids]
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜