0

我不知道这是 Ruby 问题还是 Rails 问题,但在这个使用 Rails 中嵌套资源的示例中,如何将事件对象分配给 event_id?事件对象似乎代表了比 event_id 更大的一组值。

<%= link_to 'Tickets', event_tickets_path(:event_id => @event) %>
4

3 回答 3

2

以下语法应该有效:

event_tickets_path(@event)
于 2009-10-08T06:58:41.827 回答
1

这是 Rails 内置的便利。在幕后,它会发现你真的只是想要 id。请参阅link_to的文档。这是它的一个例子:

link_to "Profile", :controller => "profiles", :action => "show", :id => @profile
# => <a href="/profiles/show/1">Profile</a>

请注意,这里正在执行类似的操作,并且生成的 href 正在使用 ID。

于 2009-10-08T07:02:42.707 回答
0

在这种情况下,Rails 调用 @event.to_param 并返回 id 属性 - to_param 默认执行此操作。您可以覆盖事件模型中的 to_param 方法以使其返回除 id 之外的其他内容。

它并不是真正将事件对象分配给 event_id,而是分配 event.id。

于 2009-10-10T05:58:25.927 回答