Ruby on rails Rails:更好的响应语法(速记)
对于用户设置控制器的Ruby on rails Rails:更好的响应语法(速记),ruby-on-rails,ruby,Ruby On Rails,Ruby,对于用户设置控制器的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 } en
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\u to
块的行数,如果有一种方法可以使用一些速记语法。如果不支持js提交,可以完全删除respond\u 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
事实上,我正计划提交JS表单,所以即使我现在删除它,我最终还是要将其添加回去,并将面临同样的问题。好吧,这本身不是一个“问题”。原始代码并不过分,而且似乎是合理的。干杯