【发布时间】:2013-08-14 10:45:47
【问题描述】:
我在Rails 4 控制器中有一个简单的update 操作:
#more stuff here
def update
if @user.update(user_params)
flash[:notice] = "User #{@user.username} updated"
redirect_to users_path
else
render 'edit'
end
end
private
def set_user
@user = User.find(params[:id])
end
但是,RubyMine 警告 @user.update 和 @user.username:
如果控制器操作在初始 .find 或 .new 之后包含多个模型方法调用,则此检查会发出警告。建议您在模型类中实现所有业务逻辑,并使用单一方法访问它。
我在这里看不到more than one model method call。有人可以解释发生了什么吗?
编辑 - 我在create 操作中有类似的东西,没有警告,所以我相信与user_params 有一些关系...
def create
if @user.save
flash[:notice] = "User #{@user.username} created"
redirect_to users_path
else
render 'new'
end
end
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-4 rails-activerecord rubymine