平静的轨道模型验证

问题描述:

我正在一个轨道应用程序(我有一些使用轨道的经验)。但是,这次我使用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应用程序中的验证相同。

使用脚手架发电机,以查看宁静控制器