передать параметр по ссылке на ruby on rails


у меня есть эта строка кода:

<%= link_to "Add to cart", :controller => "car", :action => "add_to_cart", :car => car %>

когда im в методе add_to_cart...как я могу позвонить: автомобиль, пожалуйста?

@car = Car.new(params[:car])

это не работает, потому что он говорит, что я пытаюсь его нанизать.

Я не понимаю, что случилось; потому что я использовал это для создания новых пользователей, и он работал нормально.

кстати, автомобиль-это мой объект автомобиля.

4   64   2009-12-14 06:22:04

4 ответа:

попробуй:

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

а затем в вашем контроллере

@car = Car.find(params[:car])

который, найдет в вашей таблице "cars" (как с плюрализацией рельсов) в вашей БД автомобиль с id == to car.id

надеюсь, что это помогает! счастливого кодирования

более чем через год, но если вы это видите или кто-то делает, я мог бы использовать очки ;D

выше не работает для меня, но этой сделал

<%= 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 объект в качестве параметра, попробуйте просто передает car.id. Что вы получаете, когда вы inspect(params) после нажатия кнопки "Добавить в корзину"?