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