0

エラーが発生しました:

ActiveRecord::RecordNotFound in ShoesController#choose_store_shoes

Couldn't find Store without an ID

shoesに属することを覚えておいてくださいStore。これはすべて靴のコントローラーで行われ、see_shoesアクションから始まり、ユーザーがそれをクリックするStoreとアクションが使用されchoose_store_shoesます。これは店と靴を表示するはずです。実際にページにアクセスするのに助けが必要です。

ShoesController

  def see_stores
   @stores = Store.paginate(:page => params[:page], :per_page => 20)
  end

  def choose_store_shoes
   @store = Store.find(params[:id])
  end

私のルート:

resources :shoes do
  collection do
     get 'see_stores'
     get 'choose_store_shoes'
  end
end

次に、ストアをクリックすると表示されるはずの私のビュー:

<% for store in @stores %>
   <%= link_to choose_store_shoes_shoes_path(store.id) do %>
      <%= store.name %>
      <%= store.location %>
   <% end %>
<% end %>

リンクまたはルーティングが間違っていると思います。正しい方法は何でしょうか?

前もって感謝します。

4

1 に答える 1

2

URLスキームに:idがない場合、:idを解析しています。ルートを修正する必要があります。

ルート.rbで、に変更collection domember doて、urlスキームが:idを受け入れるようにします。

ルートにこの変更を加えた後、適切なIDを使用して必要なストアを指定できます。127.0.0.1:3000/shoes/:id/choose_store_shoes

于 2012-05-14T03:30:41.643 に答える