我不知道这是一个Ruby问题还是Rails问题但是在this example中使用Rails中的嵌套资源,如何将事件对象分配给event_id?事件对象似乎代表比event_id更大的值集。
<%= link_to 'Tickets', event_tickets_path(:event_id => @event) %>
答案 0 :(得分:2)
以下语法应该有效:
event_tickets_path(@event)
答案 1 :(得分:1)
这是Rails内置的便利。在幕后它会发现你真的只想要id。请参阅link_to的文档。以下是其中一个例子:
link_to "Profile", :controller => "profiles", :action => "show", :id => @profile
# => <a href="/profiles/show/1">Profile</a>
请注意,此处正在执行类似的操作,并且生成的href正在使用ID。
答案 2 :(得分:0)
在此上下文中,Rails调用@ event.to_param并返回id属性 - to_param默认执行此操作。您可以覆盖事件模型中的to_param方法,以使其返回除id之外的其他内容。
它并没有真正为event_id分配一个事件对象,它正在分配event.id。