在我看来,我指定了一条命名路线:
show.html.erb - >
seo_path(:id => "45")
现在在我的路线中,我这样定义:
routes.rb - >
map.seo "/pages/:id/:permalink", :controller => "pages", :action => "show"
以下是我收到的错误消息。显然,差异是身份,虽然我不知道为什么。
更新
我将此作为我的错误:
seo_url failed to generate from {:controller=>"pages", :id=>"45", :action=>"show"}, expected: {:controller=>"pages", :action=>"show"}, diff: {:id=>"45"}
答案 0 :(得分:2)
为什么不使用to_param方法?
class YourModel << AR::Base
def to_param
"#{id}-#{title.parameterize}"
end
因此得到像
这样的路线/pages/1-here-is-my-converted-article-title-to-permalink
除此之外,似乎Rails无法识别您的路线。你重新启动了你的网络服务器?尝试只发送一个:永久链接属性,看看它是怎么回事。
答案 1 :(得分:0)
我不完全理解你的问题。
在您的命名路线和视图中已经指定了id
。看起来您还需要在视图中指定permalink
。你收到错误吗?