0

Ruby on Rails を使用して a に newlocationを追加しようとしています。restaurant

私が実行するrestaurants#showアクションで:

<%= link_to 'Add Location', new_location_path(@restaurant) %>

そして、URL: を取得します。http://localhost:3000/locations/new.1ここ1で、 はレストランの ID です。しかし、新しい場所のフォームは表示されません。

この単純なケースを処理するレールの方法は何ですか? 正しいnew_FOO_pathことをしているだけですか?

この場合、エンド ユーザーが自分のレストランにのみ追加できるようにするため、レストランを選択するためのドロップダウンは必要ありません。location場所の追加フォームにレストラン ID を隠して入力し、バックエンドで ID を検証する必要があります。

4

1 に答える 1

0

routes.rb にネストされたリソースを作成します。例:

resources :restaurants do
  resources :locations
end

次に、リンク ターゲットは になりますnew_restaurant_location_path(@restaurant)。コントローラーでは、 経由でレストランを見つけることができますRestaurant.find(params[:restaurant_id])

または、レストラン ID を GET パラメータとして設定しますnew_location_path(:restaurant_id => @restaurant.id)

于 2013-02-23T16:10:37.627 に答える