从带有对象的字符串命名路由

ben*_*n.m 7 string methods routes ruby-on-rails

我期待从字符串创建一个命名路由并将对象传递给它

我用局部"资源"渲染部分

即. render :partial => "listing", :locals => {:resource => @resource}

在_listing.html.haml里面我正在使用self.send方法

self.send("#{resource.class.to_s.downcase}_path()")
Run Code Online (Sandbox Code Playgroud)

这工作正常,并创建名为route的资源即.article_path()

但是这条路线需要在路线中传递的物体,即.article_path(文章)

我正在尝试这个

self.send("#{resource.class.to_s.downcase}_path("+resource+")")
Run Code Online (Sandbox Code Playgroud)

并获取错误无法将Article转换为String

有什么建议?

Jef*_*Jef 11

你应该像这样传递参数:

self.send("#{resource.class.to_s.downcase}_path", resource)
Run Code Online (Sandbox Code Playgroud)