我希望从字符串创建一个命名路由并将一个对象传递给它
我使用本地“资源”
渲染部分内容即。 render :partial => "listing", :locals => {:resource => @resource}
在_listing.html.haml里面我正在使用self.send方法
self.send("#{resource.class.to_s.downcase}_path()")
这很好用,并创建名为route的资源 即。 article_path()
但是此路线需要在路线中传递的物体 即。 article_path(物品)
我正在尝试这个
self.send("#{resource.class.to_s.downcase}_path("+resource+")")
并得到错误 无法将文章转换为字符串
有什么建议吗?
答案 0 :(得分:11)
您应该传递这样的参数:
self.send("#{resource.class.to_s.downcase}_path", resource)
答案 1 :(得分:3)
您可以简化Jef的答案(您不需要使用资源),如下所示:
send("#{controller_name}_path")