Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails:链接到不同资源名称的动态路径_Ruby On Rails_Link To - Fatal编程技术网

Ruby on rails Rails:链接到不同资源名称的动态路径

Ruby on rails Rails:链接到不同资源名称的动态路径,ruby-on-rails,link-to,Ruby On Rails,Link To,我怎样才能像对象类字符串一样修改链接到 首先,我的对象是多态的(书籍、杂志),所以我需要用户链接到(@object.title,[@object.user,@object])。这使得它像预期的那样具有多态性,如user\u book\u path或user\u magazing\u path 我的问题是如何将user部分更改为writer,例如writer\u magazine\u path或writer\u book\u path?因为在我的路线中,我将用户命名为writer,我想知道如何使用

我怎样才能像对象类字符串一样修改链接到

首先,我的对象是多态的(书籍、杂志),所以我需要用户
链接到(@object.title,[@object.user,@object])
。这使得它像预期的那样具有多态性,如
user\u book\u path
user\u magazing\u path

我的问题是如何将
user
部分更改为writer,例如
writer\u magazine\u path
writer\u book\u path
?因为在我的路线中,我将用户命名为
writer
,我想知道如何使用
link\u to
方法


注意不知道我的标题是否正确。如果是,请更正它。

试试这个,例如制作助手

在您的助手中

def *method_name(@object)*
  link_to "whatever" write_"#{object}"_path
end
现在,在您的视图文件中

<%= method_name(@object) %>

在这种情况下,您可以使用eval,如下所示

<%= link_to @object.title, 
    eval("writer_#{@object.class.name.downcase)_path(pass_object_here)"} %>


链接应该是字符串还是什么导致我认为你在路径上做插值?helper它就像一个视图文件,你在视图中写什么,你也可以在helper中写,这样你就可以在helper中使用链接了我还没有试过,但我不认为“{object}”会在写路径上插值。但当我回到我的代码时,我会尝试一下。