动态生成一个`link_to`到控制器动作`edit`

时间:2011-07-15 11:38:01

标签: ruby-on-rails ruby ruby-on-rails-3 dynamic link-to

我正在使用Ruby on Rails 3.0.7,我想为控制器操作link_to动态生成edit。我必须在部分模板中使用它,但问题是我为不同的模型数据渲染相同的部分模板(也就是说,我传递了不同类实例的局部变量)。

所以我不能使用路线“神奇的RoR方式”

`edit_<singular_name_of_the_resource>_path(<resource_class_instance>)`.

我想做类似以下的事情:

link_to( @resource_class_instance, :action => 'edit') # This example is wrong, but it suggests the idea

有可能吗?如果是这样,我该怎么做?

2 个答案:

答案 0 :(得分:10)

您可以使用“数组样式”编写路径,如下所示:

= link_to "Edit", [:edit, @your_resource]

答案 1 :(得分:1)

有一个edit_polymorphic_url和(edit_polymorphic_path)助手可用: https://github.com/rails/.../polymorphic_routes.rb#L32