0

在我看来,我指定了一个命名路由,如下所示:

show.html.erb ->

seo_path(:id => "45")

现在在我的路线中,我这样定义:

路线.rb->

map.seo "/pages/:id/:permalink", :controller => "pages", :action => "show"

以下是我收到的错误消息。显然差异是 id,虽然我不知道为什么。

更新:

我将此作为我的错误:

seo_url failed to generate from {:controller=>"pages", :id=>"45", :action=>"show"}, expected: {:controller=>"pages", :action=>"show"}, diff: {:id=>"45"}
4

2 回答 2

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 似乎无法识别您的路线。您是否重新启动了 Web 服务器?尝试只发送一个 :permalink 属性来看看它是如何进行的。

于 2009-09-26T16:36:15.140 回答
0

我不完全理解你的问题。

看起来id已经在您的命名路线和您的视图中指定了。看起来您还需要permalink在视图中指定。你有错误吗?

于 2009-09-25T16:44:59.230 回答