2015-11-30 2 views
-1

У меня есть вид # # курса, где я пытаюсь передать ID курса моему контроллеру заказа.Rails 4 не может пройти Params от View до Controller

В моем курсе # шоу зрения у меня есть это:

<%= link_to 'Buy', new_purchase_path(params[:id=>@course.id]) %> 

Я также попытался:

<%= link_to 'Buy', {:controller => :purchases, :action => :new}, :params => {:id => @course.id} %> 

Тем не менее, я получаю сообщение об ошибке:

Couldn't find Course with 'id'= 

В shop_controller, у меня это новое:

def new 
    @purchase = Purchase.new 
    @course = Course.find(params[:id]) 
end 

Что я делаю неправильно?

+0

Как насчет 'new_purchase_path (@course)' или 'new_purchase_path (: id => @ course.id)' – Abhi

+0

I s до получения той же самой проблемы – yellowreign

+0

Вы находите запись в консоли Rails, если вручную попытаетесь получить курс с этим идентификатором? – Abhi

ответ

1

Чтобы передать что-то по ссылке, вы должны назвать это.

SO проходит только в id будет выглядеть следующим образом:

new_purchase_path(id: @course.id) 

Я бы передать course_id:

new_purchase_path(course_id: @course.id) 

Тогда вы сможете получить это от Params:

params[:course_id] 
Смежные вопросы