【发布时间】:2008-12-06 01:33:08
【问题描述】:
我正在开发一个 Rails 应用程序(我对 Rails 有一些经验)。但是,这次我使用 RESTful 来构建它。我想知道如何以 RESTful 方式验证我的模型?我的意思是当用户将数据输入表单时,但模型验证会阻止创建模型什么是 RESTful 方式将用户重定向回new 操作他们仍然输入的数据出现在表格中?
【问题讨论】:
标签: ruby-on-rails ruby rest
我正在开发一个 Rails 应用程序(我对 Rails 有一些经验)。但是,这次我使用 RESTful 来构建它。我想知道如何以 RESTful 方式验证我的模型?我的意思是当用户将数据输入表单时,但模型验证会阻止创建模型什么是 RESTful 方式将用户重定向回new 操作他们仍然输入的数据出现在表格中?
【问题讨论】:
标签: ruby-on-rails ruby rest
REST 只会影响您的控制器和路由!
RESTful Rails 应用中的模型验证与任何其他 Rails 应用中的验证相同。
【讨论】:
Josh - 你提到想知道如何将用户重定向回创建,如果它出错了。如果您使用早期版本的 Rails,请确保您使用的是 form_for 帮助程序,而不是早期的 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) 转发到在事务中创建的记录。但在失败时,它是相同的旧渲染:action。
【讨论】:
无论以 RESTful 还是常规方式开发,后端实现通常保持不变。就像在非 RESTful 应用程序中一样,您只需使用带有用户尝试创建的实例的表单重新呈现创建页面。真正使用 REST,您所做的只是创建一组统一的 URL 来响应不同的 HTTP 请求,其他一切都保持不变。
【讨论】:
使用脚手架生成器查看restful控制器上的示例代码
【讨论】: