从其他控件更新用户模型

时间:2013-11-28 11:39:50

标签: ruby-on-rails rails-activerecord update-attribute

我有一个用户模型。我想从一些与用户无关的其他控制器更新用户列。以下是我更新值的代码。

   def update
        @admin=current_user
        if @admin.update_attribute(:allow, params[:user][:allow])
          flash[:success] = "Feature updated"
          redirect_to '/recalls'
        else
            flash[:success]=@admin.errors.full_messages
        end
   end

问题是db中的允许值得到更新。我可以从我的rails控制台验证它。但在重定向到/recalls时,它会注销并重定向到Login。 我不知道我做了什么错。请告诉我。在此先感谢

2 个答案:

答案 0 :(得分:0)

我也面临同样的问题。通过像这样的事情来解决这个问题

@admin=User.find current_user.id

请尝试这个..不确定这会对你的情况有效..

答案 1 :(得分:0)

来自Gopal Rathore在原帖中的评论。 我添加sign_in方法如下解决问题

   def update
        @admin=current_user
        if @admin.update_attribute(:allow, params[:user][:allow])
          sign_in
          flash[:success] = "Feature updated"
          redirect_to '/recalls'
        else
            flash[:success]=@admin.errors.full_messages
        end
   end