动态Rails助手(例如link_to方法,method方法)

3

我想知道如何为我的Rails helpers获取一些动态功能:

<h3><%= link_to object.name, ("#{object.class_path.to_s}")_path(object) %></h3>

在这种情况下,将对象的类抛入链接中。我对如何在辅助方法中调用方法感到困惑。
非常感谢您的建议!

1
好像你已经解决了,但是以后参考你的原始方法,你必须这样使用sendlink_to object.name, send("#{object.class_path.to_s}_path", object) - Paul.s
啊,是“发送”,明白了。一直在想那是怎么工作的。 谢谢你提醒我。 - Galaxy
2个回答

8
你是想链接到对象的实例吗?
<%= link_to object.name, object %>

Rails可以从中构造一个#show链接。
在更复杂/嵌套的情况下,您可以使用polymorphic_path
<%= link_to object.name, polymorphic_path([:edit, @user, object]) %>

作为edit_user_#{object.class}_path(@user,object)的同义词。

我喜欢那个Polymorphic_path。感谢您的提示! - Galaxy
polymorphic_path是更好的选择,我在网上搜索了这个主题。我认为@eric只是忘记给我们提供文档链接 - hguzman

0

我似乎已经通过这种方法解决了这个问题:

<%= link_to object.name, url_for(object) %>

使用url_for而不是something_path会有性能或可用性问题吗?它们之间有任何区别吗?


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接