我有Articles控制器,并且为了显示相应的文章,我使用基本路线 - example.com/articles/4。
我想将此 URL 格式更改为example.com/4-article-name或example.com/article-name-4。
谁能给我一个提示,如何做到这一点?
谢谢
我有Articles控制器,并且为了显示相应的文章,我使用基本路线 - example.com/articles/4。
我想将此 URL 格式更改为example.com/4-article-name或example.com/article-name-4。
谁能给我一个提示,如何做到这一点?
谢谢
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
一般来说,数字开头是最优雅的方式,因为在 ruby 中它可以很容易地转换为整数,例如'123-foo-bar'.to_i
将 return 123
。请参阅http://apidock.com/rails/ActiveRecord/Base/to_param你会发现如何改变这个机制。