我可以强调一个URL路径
问题描述:
我想动态设置的我可以强调一个URL路径
- application_path = @object.class.name.underscore + "_path"
= link_to "<input type='button' value='Cancel' class ='bigbutton go_back'/>".html_safe, application_path(@application)
的URL路径,但我不断收到
undefined method `application_path' for #<#<Class:0x00000103d11d80>:0x00000103d04a68>
就如何实现这一行为的任何想法
答
在一般情况下,可以使用Object#send来调用基于符号的方法(可以使用to_sym
从字符串中获得):
send(application_path.to_sym, @application)
从文档:
发送(符号[,ARGS ...])→OBJ
调用由符号识别的方法,传递指定的任何参数。
但在这种情况下,因为你的动态串是很简单的,Rails有一个内置的方法来做到这一点,url_for:
url_for(@application)
来自实例文档:
<%= url_for(@workshop) %> # calls @workshop.to_param which by default returns the id # => /workshops/5
注意:这是假设您的@application
是一个模型对象,其中rou te匹配型号名称。在你的代码中,似乎有两个实例变量,@object
和@application
,但是你没有完全解释它们,所以你可能需要修改上面的代码来传递@object
而不是@application
。
答
方法url_for
完全符合您的要求。
url_for(@application)