0

私はralisが初めてで、特定のコントローラーの特定のメソッドを呼び出すものにリンクを作成しようとしています。

たとえば、これが欲しいのですが、文字をエスケープしても

= link_to "Add to cart", {:controller => "car", :action => "add_to_cart", :car => car.id }

そのように貼り付けると、 「ルートが一致しません」というエラーが表示されます。それを作成する方法はありますか? または多分古い形式で(私はそれを理解していません)私は次のようなものであるべきだと思います

=link_to "car", add_to_cart_car_path(@car.id), class: "btn"

エラーも表示されますが、

これについて何か考えはありますか?

4

2 に答える 2

1

と呼ばれるリソースのルート設定があると仮定しますcar

resources :cars

次のように変更することで、メンバー アクションを追加できます。

resources :cars do
  get :add_to_cart, :on => :member
end

あなたは今書くことができます:

= link_to "Add to Cart", add_to_cart_car_path(@car), class: 'btn'
于 2013-05-06T21:03:27.710 に答える
0

ルートを routes.rb に追加できます:

match 'add_to_cart' => 'cars#add_to_cart'

新しいルートが認識されるようにするには、忘れずに Rails サーバーを再起動してください。

于 2013-05-06T21:04:00.107 に答える