【问题标题】:redirect to another URL using submit button in ruby使用 ruby​​ 中的提交按钮重定向到另一个 URL
【发布时间】:2014-06-26 19:13:39
【问题描述】:

我有提交按钮,我想重定向到另一个 URL(硬编码)这​​个 URL

https://www.ccavenue.com/shopzone/cc_details.jsp

我的代码:

<%= form_tag @ccavanue do |f| , url => "https://www.ccavenue.com/shopzone/cc_details.jsp",       :html => :method => "put" %>
<%= hidden_field_tag :my_field, @MerchantId, :id => 'merchant_id' %>
<%= submit_tag "Click Me"  %>
<% end %>

我想用这个提交按钮重定向另一个网站 URL。请指导我。

【问题讨论】:

标签: ruby


【解决方案1】:

将您的代码更改为以下内容:

<%= form_for @ccavanue, url: "https://www.ccavenue.com/shopzone/cc_details.jsp" do |f| %>
   <%= f.hidden_field :my_field, @MerchantId, :id => 'merchant_id' %>
   <%= f.submit "Click Me"  %>
<% end %>

在 Rails 中,表单旨在创建更新资源,并以多种方式反映资源的身份:

  1. 表单发送到的 url(表单元素的 action 属性)应该导致请求被路由到适当的控制器操作(在现有资源的情况下使用适当的 :id 参数),
  2. 输入字段的命名方式应使其在控制器中的值出现在参数哈希中的适当位置,并且
  3. 对于现有记录,最初显示表单时,与资源属性对应的输入字段应显示这些属性的当前值。

在 Rails 中,这是通过使用 form_for 创建表单来实现的,其中:

如果我们想创建任何对象,我们在 url 中使用 POST 方法,如果我们试图更新现有记录,则使用 PUT 方法。

Rails 框架足够聪明,可以通过自身查看表单的 url 来使用 POST 或 PUT 方法。所以在这种情况下,我们不需要在 form_for url 中使用 method 参数。

或许你可以从Michael Hartl's tutorial开始

【讨论】:

  • 我不知道你为什么对form_for使用“put”方法,但尽量不要在form_for中传递方法参数
  • 我不知道这一点。我是 ruby​​ 的新手,我想购买 Ruby on Rails 的书,以便更好地开始学习。请指导我
  • 我已经用 Ruby on Rails 的相关指南修改了答案。请查看编辑后的答案
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-11-14
  • 1970-01-01
  • 1970-01-01
  • 2018-12-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多