0
def new
@user = User.find(session[:this_user])
@message = Message.new
@people= People.order("is_active DESC, first_name, last_name")
end
当创建行动验证失败,我需要重新设置上述变量,创建看起来动作,如:如何删除Rails控制器中的多余代码?
def create
@message = Message.new(params[:message])
if @message.save
redirect_to(messages_path, :notice => 'Message was successfully created.')
else
@user = User.find(session[:this_user])
@message = Message.new
@people= People.order("is_active DESC, first_name, last_name")
render :action => "new"
end
末
什么是去除冗余代码的正确方法(和DRY它)?
另外,如果验证失败,上述方法会导致表单忘记任何输入。有没有更好的方法来记录输入的信息?
Rails的3.07,红宝石1.9.2