2009-10-08 48 views

回答

1

它是内置到Rails的便利。在幕后它会发现你真的只是想要这个ID。请参阅link_to的文档。以下是其中一个示例:

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

请注意,此处正在做类似的事情,并且生成的href使用的是ID。

+0

Thx链接到link_to文档。 – 2009-10-08 07:26:26

+0

您引用的行上面的两行是: link_to“Profile”,profile_path(@profile) 只要事件在您的路由文件中被声明为资源,就应该能够以Edwin的方式使用它建议如下。看起来RESTful版本通常更受欢迎,因为它不那么脆弱,所以如果工作起来很简单,我会推荐。 – Kyle 2009-10-08 15:53:02

2

以下语法应工作:

event_tickets_path(@event) 
+0

其实,我怀疑这是行不通的。名称“event_id”而不是“id”意味着这是一个外键,也许在连接表上,我不认为Rails会推断应该将@event映射到一个特定的外键 - 仅对一个主键键,因此需要“:event_id => @event”语法...如果我错了,请纠正我。 – SingleShot 2009-10-08 07:12:29

0

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

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

相关问题