在此示例中,如何将事件对象分配给事件ID?

时间:2009-10-08 06:49:34

标签: ruby-on-rails ruby variable-assignment

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

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

3 个答案:

答案 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。