0

我该如何做一个link_to我可以修改的对象类字符串?

首先,我的对象是多态的(书、杂志),所以我需要 user link_to(@object.title, [@object.user, @object])。这使它像预期的user_book_path那样具有多态性。user_magazine_path

我的问题是如何将user部分更改为作家,例如。writer_magazine_path还是writer_book_path?因为在我的路线中,我将用户命名为writer,我想知道如何对link_to方法执行此操作。

note不知道我的标题是否正确。如果是,请纠正它。

4

2 回答 2

0

这种情况下可以使用eval,如下

<%= link_to @object.title, 
    eval("writer_#{@object.class.name.downcase)_path(pass_object_here)"} %>
于 2012-12-28T11:06:23.057 回答
0

试试这个,例如做助手

在你的助手中

def *method_name(@object)*
  link_to "whatever" write_"#{object}"_path
end

现在,在您的视图文件中

<%= method_name(@object) %>
于 2012-12-28T04:27:27.223 回答