1

入力フィールドの値を別のページに渡して、この値をデータベースに追加する必要があります。

コードは次のようになります

    .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 として渡されます。

4

2 に答える 2

3

まず、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そして、変数を介して次のページのビューからアクセスできるようになりました。

于 2011-03-25T08:33:31.353 に答える
0

私は最近、これと同じ質問をしました。これが私がそれを解決した方法です(私は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>
于 2016-07-04T03:37:48.757 に答える