でアクセスパラメータにできませんが、私はレストラン、カート、およびユーザーモデルを持っています。レストランに入るときにカートフォームにリダイレクトしたいと思います。このフォームはテーブル番号を求められ、その後、現在のユーザーのカートを作成します。私は、彼らがホワイトリストに含まれていないが、私はそれらを許可する方法を見つけることができないと仮定し、渡されたパラメータRailsの - コントローラ
Couldn't find Restaurant with 'id'=
に問題を取得し、フォームを送信するときしかし、...私は任意の提案のために感謝してます!
渡さのparams:
{"utf8"=>"✓",
"authenticity_token"=>"*****",
"cart"=>{"restaurant_id"=>"1",
"table_id"=>"4"},
"commit"=>"Create Cart",
"user_id"=>"1"}
私はカートコントローラに入力
<%= f.hidden_field :restaurant_id, value: params[:restaurant_id] %>
<%= f.input :table_id %>
で隠しフィールドを持つrestaurant_idとテーブルを渡しています:
def create
@restaurant = Restaurant.find(params[:restaurant_id])
@table = @restaurant.tables.find(params[:table_id])
@cart = current_user.carts.new(cart_params)
...
end
....
def cart_params
params.require(:cart).permit(:restaurant_id, :table_id)
end
@Krisityanは、hidden_fieldのHTMLコードをチェックし、把握しようとします。 – uzaif