使用しているモデルに関連付けられていないパラメータで特定のフォームを実行する必要があります。参照してください、私は私のコントローラ(と私は私のビューでは、特定の "注文"と "製品"の配列を参照することができます)。私の見解ではRuby on Rails、特定のURLへのフォーム内の参照カスタムパラメータ
#this controller responds to mydomain.com/new/order/:id_order
class MyController < ApplicationController
...
def my_page
@order = Order.find(params[:id_order])
@products = Product.all
end
...
end
iは、製品を「追加」するためにそれらの属性(名前、説明、価格)、次の各製品とのリンクに少数フィールドを持つすべての製品のリストをレンダリングする必要があります。
私の製品の各製品のすべての属性を表示するためにテーブルを作成できます。問題は、テーブルの各行の隣に数字フィールドを作成する方法と「追加」アクションへのリンクがわかりません。 、私のAPIにだけポイントである、
(別名 add_product_order として)mydomain.com/add/product/:id_order/:id_product/:amount: id_orderためのIDに対応(@ order.id)
:id_productは、tの特定の製品のIDに対応しています私が持っている行(product.id)
:金額は、ユーザーが指定した金額にする必要がありますが、私はどのようにビュー内でそれを参照するか分からない。それは私にエラーを与えるように、量パラメータを(しかし、私は、一定量を使用している場合:
レールヘルパーform_tagなど、のform_for ...私が必要となるので、しかし、私はadd_product_order_pathを使用するカントのデータを送信するためのURLが必要です1のように、それは動作します)。結論として
:
<% @products.each do |product| %>
<tr>
<td><%= product.name %></td>
<td><%= product.description %></td>
<td><%= product.price %></td>
<td><input type="number" name="amount" min="1"></td>
<td><%= link_to 'Add', add_product_order_path(id_order: @order.id, id_product: product.id, amount: *???*), method: :post %></td>
</tr>
<% end %>
にする必要がありますどのような?、amountフィールドの値をadd_product_order_pathに送信しますか?
金額に数字ピッカーが表示されるようにしようとしていますか? –
@maxpleはい、値を参照してAPIポイントに渡します –