次のコード行があります。
<%= link_to "Add to cart", :controller => "car", :action => "add_to_cart", :car => car %>
add_to_cartメソッドでimの場合...どうすれば:carを呼び出すことができますか?
@car = Car.new(params[:car])
私はそれを文字列化しようとしていると言っているので、それはうまくいきません。
何が悪いのかわかりません。これを使用して新しいユーザーを作成し、うまく機能したからです。
ところで、車は私の車のオブジェクトです。
試してください:
<%= link_to "Add to cart", {:controller => "car", :action => "add_to_cart", :car => car.id }%>
そしてあなたのコントローラーで
@car = Car.find(params[:car])
これは、「cars」テーブルで(Rails複数化の場合のように)DBでid == to car.idの車を検索します)
それが役に立てば幸い!ハッピーコーディング
1年以上後ですが、あなたがそれを見たり、誰かが見たら、ポイントを使用できます; D
上記は私にはうまくいきませんでしたが、thisはうまくいきました
<%= link_to "text_to_show_in_url", action_controller_path(:gender => "male", :param2=> "something_else") %>
たぶんこれを試してください:
<%= link_to "Add to cart",
:controller => "car",
:action => "add_to_cart",
:car => car.attributes %>
ただし、このページ(つまり、ビューの残りの部分)の車のオブジェクトがどこで設定されているかを確認したいと思います。
おそらくcar
オブジェクトをパラメーターとして渡したくないので、単に_car.id
_を渡してみてください。 [カートに追加]をクリックした後にinspect(params)
すると何が得られますか?