我希望你们不介意我用一个三段论来问这个问题......
<%= link_to "Show", thing_path(@thing.id) %>
是
<%= link_to "Show", @thing %>
作为
<%= link_to "Show", edit_thing_path(@thing.id) %>
是???
我想使用该编辑路径助手而不对资源名称进行硬编码,因此我可以将这段代码抽象为部分代码。
答案 0 :(得分:3)
<%= link_to "Edit", edit_polymorphic_path(@thing) %>
-
您最好使用polymorphic path,如此处所述。
您所拥有的不同之处在于,当您将单个对象发送到link_to
帮助程序时,它可以根据对象的model_name
来消化路径。这对于show
方法是可以的......但是edit
呢?
Edit
有自己的路径 - 您必须在helper
中明确定义它;因此,我建议您不能只调用object
来生成路径。相反,polymorphic_path
帮助程序将帮助您根据发送的对象加载正确的编辑路径