我正在设置我的网站
www.website.com/articles/2013/07
将在 7 月列出 2013 年的
www.website.com/articles/2013
所有文章并将列出 2013 年的所有文章
www.website.com/articles/2013/07/title-of-article
将仅列出特定文章
但是,我只能使上述三个中的第一个和最后一个工作。输入网址
www.website.com/articles/2013
无法正常工作。具体来说,我得到了一个noMethodError in Articles#show
对我来说没有意义的,因为我已经将路由匹配到Articles#index
.
有人可以解释一下这里发生了什么吗?我看不出我在哪里犯了错误。
路线:
match "/articles/:year", :to => "articles#index",
:constraints => { :year => /\d{4}/ }, :as=> :posts_year
match "/articles/:year/:month", :to => "articles#index",
:constraints => { :year => /\d{4}/, :month => /\d{1,2}/ }, :as => :posts_month
match "/articles/:year/:month/:slug", :to => "articles#show",
:constraints => { :year => /\d{4}/, :month => /\d{1,2}/, :slug => /[a-z0-9\-]+/ }, :as => :posts_date
在我的模型中,我有:
def year
created_at.year
end
def month
created_at.strftime("%m")
end