Ruby on Rails - 从输入框获取值并传递到另一个页面

发布于 2024-10-26 02:19:33 字数 336 浏览 5 评论 0原文

我必须将输入字段的值传递到另一个页面,在那里它将将该值添加到数据库中。

代码如下所示

    .shoping_cart_col2
      %input.cart_box{:type => "text", :value => "1"}/
    .shoping_cart_col3 
      = button_to "Add To Cart" , line_items_path(:product_id => @prod)

当我按下“添加到购物车”按钮时,我希望将 cart_box 的值提交到下一页,该值将作为 :quantity 传递到下一页

I have to pass the value of an input field to another page where it will add this value to the database.

The code looks like this

    .shoping_cart_col2
      %input.cart_box{:type => "text", :value => "1"}/
    .shoping_cart_col3 
      = button_to "Add To Cart" , line_items_path(:product_id => @prod)

When i press the "Add to Cart" button i want the value of cart_box to be submitted to the next page with it, this value will be passed to the next page as :quantity

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

为你鎻心 2024-11-02 02:19:38

首先,您需要输入字段的一些名称,以便 Rails 可以找到它并传递给 params 哈希。

.shoping_cart_col2
  %input.cart_box{:name => 'item_amount', :type => "text", :value => "1"}

从现在开始,在您的控制器中,您可以通过以下方式获取该值:

# Somewhere in ItemLinesController
def some_action
  ...
  @quantity = params[:item_amount].nil? ? 1 : params[:item_amount]
  ...
end

现在应该可以通过 @quantity 变量从下一页的视图中访问它。

First of all you need some name for input field, so Rails can find it and pass to params hash.

.shoping_cart_col2
  %input.cart_box{:name => 'item_amount', :type => "text", :value => "1"}

From now in your controller you can get this value with:

# Somewhere in ItemLinesController
def some_action
  ...
  @quantity = params[:item_amount].nil? ? 1 : params[:item_amount]
  ...
end

And now it should be accessible from next page's view via @quantity variable.

雪化雨蝶 2024-11-02 02:19:38

我最近也有同样的问题。这是我解决它的方法(我正在使用 Rails 5)

这是我在主页上的表单,它是一个静态页面:

<%= form_tag(new_project_path, method: :get) do %>
  <%= text_field_tag :project, params[:name], placeholder: "project name", class: "project-start" %>
  <%= submit_tag "Submit" %>
<% end %>

然后在我的 /projects/new 页面上,这是我需要预先准备的表单部分从主页上的输入字段填充:

<div class="field">
  <%= f.label :name, 'Project Name' %>
  <%= f.text_field :name, value: params[:project], required: true %>
</div>

I recently had this same question. Here's how I solved it (I'm using Rails 5)

This is my form on the home page, which is a static page:

<%= form_tag(new_project_path, method: :get) do %>
  <%= text_field_tag :project, params[:name], placeholder: "project name", class: "project-start" %>
  <%= submit_tag "Submit" %>
<% end %>

Then on my /projects/new page, here is the part of the form that I needed to have pre populated from the input field on the home page:

<div class="field">
  <%= f.label :name, 'Project Name' %>
  <%= f.text_field :name, value: params[:project], required: true %>
</div>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文