Rails 中的订单确认页面

2024-04-10

我一直在尝试为我的 Rails 应用程序创建一个订单确认页面,但不太确定如何以一种轻松的方式完成它。

上面有几个答案this https://stackoverflow.com/questions/445293/ruby-on-rails-confirmation-page-for-activerecord-object-creation这个问题让我半途而废,但问题是我不太确定如何在 Rails 视图中设置表单,以便将用户带到包含所有详细信息的确认页面,而不是创建操作。

现在我的观点很简单:

        <% form_for :order do |f| %>
      <%= f.error_messages %>
      <p>
        <%= f.label :first_name %><br />
        <%= f.text_field :first_name, :size => 15 %>
      </p>
      <p>
        <%= f.label :last_name %><br />
        <%= f.text_field :last_name, :size => 15 %>
      </p>
      (Be sure to enter your name as it appears on your card)
      <p>
        <%= f.label :card_type %><br />
        <%= f.select :card_type, [["Visa", "visa"], ["MasterCard", "master"], ["Discover", "discover"], ["American Express", "american_express"]] %>
      </p>
      <p>
        <%= f.label :card_number %><br />
        <%= f.text_field :card_number %>
      </p>
      <p>
        <%= f.label :card_verification, "Card Verification Value (CVV)" %><br />
        <%= f.text_field :card_verification, :size => 3 %>
      </p>
      <p>
        <%= f.label :card_expires_on %><br />
        <%= f.date_select :card_expires_on, :discard_day => true, :start_year => Date.today.year, :end_year => (Date.today.year+10), :add_month_numbers => true %>
      </p>
  <p><%= f.submit "Submit" %></p>

我应该做什么才能将用户引导至显示所有订单详细信息的确认页面?

Thanks!

Kenji


对此有几个答案 让我半途而废的问题, 但问题是我不是 非常确定如何设置表单 Rails 视图,以便需要 用户进入确认页面 他们的所有详细信息而不是创建 行动。

将表单定向到非标准页面非常简单。

添加网址选项form_for http://api.rubyonrails.org/classes/ActionView/Helpers/FormHelper.html#M001604。 这样

<% form_for :order do |f| %>

becomes

<% form_for :order :url => {:action => "confirm"} do |f| %>

您需要在路线中创建确认操作,但这仅涉及以下内容:

map.resources :orders, :collection => {:confirm => :get}

您现在需要的只是一个基本的控制器操作和一个视图:

def confirm
  @order = Order.new(params[:order])
  unless @order.valid?
    render :action => :new
  else       
  end
end

您的视图应该看起来与显示视图几乎相同,并添加了一个将 @order 提交到创建操作的表单。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Rails 中的订单确认页面 的相关文章

随机推荐

  • Eclipse CDT生成的Makefile在哪里?

    我已经使用 Eclipse helios CDT 构建了一个 hello world C 项目 它编译得很好 但我想看一下生成的 Makefile CDT 我在项目文件夹 调试 发布文件夹或 src 文件夹中找不到它 我在哪里可以找到这个
  • 使用 jupyter 将标准输入替换为 python3 中的字符串

    我试图用先前定义的字符串替换标准输入 在浏览堆栈溢出后 我找到了几种解决方案 尽管主要针对 python2 例如 下面的解决方案在 ideone com 中进行了测试并且似乎有效 但是当我尝试将其添加到我的 jupyter 笔记本中的代码中
  • 即使一个 spring bean 初始化失败也继续加载 webapp

    因此 如果 web 应用程序中的 spring 初始化失败 则该 web 应用程序本身不会出现 为了防止这种情况发生 我可能无法从代码中为该特定 bean 初始化重新抛出任何异常 并且 web 应用程序将继续加载 对吗 有没有其他方法可以告
  • Swift 组合:合并多个发布者,并在其中任何一个发布者发出“true”时发出“true”

    我正在尝试构建一个当其他 5 个发布者中的任何一个发出 true 时发出 true 的发布者 我已经成功构建了一个工作版本 但感觉非常恶心 使用CombineLatest4 CombineLatest 尤其是所有 0 0 0 1 0 2 0
  • 命令提示符“Net View 系统错误 6118”[关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 当我尝试在命令提示符中使用 net view 时 收到错误代码 6118 这是什么意思 如何修复它 谢谢 尼克 6118 表示该工作组的服务器列表当前
  • 为 mysql_options() 提供了不受支持的选项

    我已经在我的本地计算机上安装了 mysql server 和 mysql workbench 操作系统为 Ubuntu 16 04 我可以通过 CLI 连接到 mysql server 但不能通过 mysql workbench mysql
  • 搜索栏激活时被导航栏隐藏

    我面临着一个奇怪的场景 我在应用程序中使用了搜索栏 并将其与表格视图绑定在一起 如下图所示 但是 当我尝试搜索任何内容时 搜索栏会向上滑动并被导航栏隐藏 我已经多次使用搜索栏 但从未见过像下面这样的屏幕截图 我无法删除导航栏 因为我需要它
  • 如何设置其他应用程序的屏幕方向?

    通过以下几行 我们可以在应用程序中设置方向 setRequestedOrientation ActivityInfo SCREEN ORIENTATION PORTRAIT setRequestedOrientation ActivityI
  • Javascript 无法在 WebView Activity 中工作

    我有一个活动只有一个WebView 其中包含 HTML CSS 和 Javascript 代码 好像有问题access of JavaScript to the 屏幕尺寸的视图 日志猫 说 Tag Web Console Uncaught
  • CSS:不是属性[重复]

    这个问题在这里已经有答案了 我有一些 HTML 表格 这些表没有 CSS 类 两个表有width 100 属性 其他表没有width属性 仅使用 CSS 我需要设置没有的表格的宽度width 100 像这样的事情 table not wid
  • 同态加密算法的实际应用?

    密码学中似乎发生了一些有趣的事情 第一个同态加密 http en wikipedia org wiki Homomorphic encryption最近出现了方案 解释 http www mail archive com cryptogra
  • 从 iOS4 在后台发布位置更新

    我可以从 iOS4 在后台向我的服务器发送位置更新吗 我想要获取用户位置更改并使用 Web 服务调用将其发布到服务器 这里的主要问题是 当应用程序在后台时是否可以调用网络服务或http post 绝对可以 而且您可能想要回顾一下之前的帖子
  • MVC 6 HttpPostedFileBase?

    我正在尝试使用上传图像MVC 6 但是 我找不到该课程HttpPostedFileBase 我已经检查过GitHub并且没有任何运气 有谁知道上传文件的正确方法MVC6 MVC 6 使用另一种机制来上传文件 您可以获取更多示例GitHub
  • Java中的数组修改(改变数组“分辨率”)

    我想创建一个函数来更改整数数组的大小 同时保持其 形状 目的是加快 FFT 的计算速度 它返回一个新的大小数组y每个元素是它在旧数组中 覆盖 的元素的平均值 例如 如果我有一个数组w有 3 个元素 并且想要创建另一个数组z有 2 个元素 第
  • 了解 Cloud Firestore 安全规则的限制

    我正在为我的 Firestore 数据库编写安全规则 并且我可能编写了太多检查并且授权自动失败 例如 特定路径的规则是 service cloud firestore match databases database documents m
  • 使用 TEmbeddedWB 或 TWebBrowser 检测外部内容

    我试图阻止由 TEmbeddedWB 或 TWebBrowser 或 TCppWebBrowser 加载的任何外部内容 我想阻止从互联网加载的任何内容 包括图像 javascript 外部 CSS 外部 embed 或 object 或 a
  • eclipse下同一个多模块maven项目的多个版本

    我想从事两个不同的版本 of the 相同的多模块 Maven 项目日食之下 不幸的是 当你在eclipse下导入多模块maven项目时 你可以改变父模块项目名称自己命名 以防止冲突 但是不是子模块项目名称 子模块作为根项目导入 以模块名称
  • 使用 GPS 获取 Android 手机的位置

    我还有一个关于基本 Android 编程的问题 如何访问 GPS 来获取运行应用程序的手机的当前位置 检索信息需要多长时间 在这种情况下 GPS 可能被禁用 如何再次启用 禁用它 必须在 andorid 清单中授予哪些权限 问候并感谢您的回
  • 移动结账时不存在 PayPal POST 付款变量

    我使用 JS 立即购买按钮进行付款 如下所示
  • Rails 中的订单确认页面

    我一直在尝试为我的 Rails 应用程序创建一个订单确认页面 但不太确定如何以一种轻松的方式完成它 上面有几个答案this https stackoverflow com questions 445293 ruby on rails con