我有一个课程#show视图,我正在尝试将课程ID传递给我的订单控制器。
在我的课程#show中我有这个:
<%= 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'=
在purchases_controller中,我有新的:
def new
@purchase = Purchase.new
@course = Course.find(params[:id])
end
我做错了什么?
答案 0 :(得分:1)
要传递链接中的内容,您必须为其命名。
仅传递id
就像这样:
new_purchase_path(id: @course.id)
我会通过course_id:
new_purchase_path(course_id: @course.id)
然后你就能从params中找到它:
params[:course_id]