передать параметр по ссылке на 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])


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



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



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

636   4  

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) после нажатия кнопки "Добавить в корзину"?

Comments

    Ничего не найдено.