路线 - 如何在网址ID和文章名称中显示?

时间:2012-04-16 12:55:01

标签: ruby ruby-on-rails-3 routes rails-routing

我有文章控制器,为了显示相应的文章,我使用基本路线 - example.com/articles/4

我想将此网址格式更改为 example.com/4-article-name example.com/article-name-4

有人可以给我一个小费,怎么做?

谢谢

2 个答案:

答案 0 :(得分:1)

Ryan Bates(Railscast.com)似乎做了一集解决了你的问题:

/app/models/article.rb 
class Article < ActiveRecord::Base
  def to_param
    "#{id} #{name}".parameterize
  end
end

请参阅:http://railscasts.com/episodes/314-pretty-urls-with-friendlyid?view=asciicast

答案 1 :(得分:1)

一般来说,开头的数字是最优雅的方式,因为在ruby中它可以很容易地转换为整数,例如'123-foo-bar'.to_i将返回123。 请参阅http://apidock.com/rails/ActiveRecord/Base/to_param,您将了解如何更改此机制。