我有以下用户设置控制器update
方法的代码:
def update
@user = ...
if @user.update_attributes(params[:user])
flash[:success] = 'Some success message.'
respond_to do |format|
format.html { redirect_to some_path }
format.js { head :ok }
end
else
flash[:error] = 'Some error message.'
render action: 'some action'
end
end
我想知道是否有办法缩短整个方法?最好的选择是减少respond_to
块的行数,如果有办法在那里使用一些简写语法。
答案 0 :(得分:1)
如果您不支持js提交,则可以完全删除respond_to块。另请注意使用flash.now
来显示渲染上的flash消息。
def update
@user = ...
if @user.update_attributes(params[:user])
flash[:success] = 'Some success message.'
redirect_to some_path
else
flash.now[:error] = 'Some error message.'
render action: 'some action'
end
end