当前位置:  开发笔记 > 后端 > 正文

Ruby on Rails:ActiveRecord对象创建的确认页面

如何解决《RubyonRails:ActiveRecord对象创建的确认页面》经验,为你挑选了2个好方法。

使用Ruby on Rails我想在创建ActiveRecord对象之前有一个确认页面.在提交之前,用户将看到他们正在创建的项目的预览,并且将对象保存在数据库中

一种常见的模式;

用户访问/输入/新

用户输入详细信息并单击提交

用户被重定向到/ entry/confirm,显示条目并单击提交或编辑以更正错误

对象已保存

你会如何实现它?



1> wvanbergen..:

解决此问题的另一个选项是将虚拟确认属性添加到模型中.这样,就不需要为此创建单独的操作:

class MyRecord < ActiveRecord::Base
  attr_accessor :confirmation
  validates_acceptance_of :confirmation, :on => :create
end

现在,您的新对象将无法正确保存,因为确认字段上的验证将失败.您可以检测到这种情况,并提供如下内容:

<% form_for(@my_record) do |form| %>
  ...
  <%= form.check_box :confirmation %> Really create this record.
  <%= submit_tag('Confirm') %>
<% end %>



2> Josh Delsman..:

我可能会为该模型的routes.rb文件添加一个"预览"操作:

map.resource :objects, :new => { :preview => :post }

您可以preview通过POST preview_object_url命名路由来实现此操作.你需要以Objectcreate动作相同的方式创建它,如下所示:

def preview
  @object = Object.new(params[:object])
end

然后,此页面将POST到create操作,然后创建对象.这很直接.

http://api.rubyonrails.org/classes/ActionController/Resources.html

推荐阅读
爱唱歌的郭少文_
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有