我正在结社 group has_many events
我在show group view中有这个方法
= link_to 'Create Event', new_event_path(@group)
我的新事件方法
def new
@event = Event.new(city: current_user.profile.city, group_id: params[:id])
end
显示未知网址 本地主机:3000 /事件/ new.17
也是group_id:params [:id]无效
因为我是ror的新手,请告诉我原因 提前谢谢
答案 0 :(得分:1)
您没有指定父资源,因此您无法在new_event_path
网址帮助程序中将其用作参数,并生成类似' / parent_resource /的路径:parent_resource_id / events / new&# 39 ;.因此,在您的情况下,只需使用任何网址参数,即group_id
:
= link_to 'Create Event', new_event_path(group_id: @group)
它会生成网址:/events/new?group_id=17
在这种情况下,操作将使用group_id
参数:
def new
@event = Event.new(city: current_user.profile.city, group_id: params[:group_id])
end