平静的轨道模型验证
问题描述:
我正在一个轨道应用程序(我有一些使用轨道的经验)。但是,这次我使用RESTful来构建它。我想知道如何以REST风格验证我的模型?我的意思是当用户将数据输入表单时,但模型验证阻止了模型的创建,这是一种REST风格的方式,将用户重定向回new
动作,输入的数据仍然存在于表单中?平静的轨道模型验证
答
乔希的例子代码 - 你提到想知道如何将用户重定向到创造,如果它出错了。如果您使用的是早期版本的Rails,请确保您使用的是form_for helper,而不是早期的start_form_tag。控制器代码看起来非常相似,你怎么可以用来...例如(一个客户模型):
def create
@customer = Customer.new(params[:customer])
if @customer.save
flash[:notice] = 'Customer was successfully created.'
redirect_to(@customer)
else
render :action => "new"
end
end
你会发现,现在转发到在事务创建记录的redirect_to(@customer)
。但在失败时,它是同样的旧渲染:行动。
答
无论是以RESTful还是常规方式开发,后端实现通常保持不变。就像在非REST风格的应用程序中一样,您只需使用用户试图创建的实例重新呈现带有表单的创建页面。真正的REST,你所做的只是创建一组统一的URL来响应不同的HTTP请求,其他一切都保持不变。
答
REST只影响你的控制器和路由!
RESTful Rails应用程序中的模型验证与任何其他Rails应用程序中的验证相同。
答
使用脚手架发电机,以查看宁静控制器