rails官方指南中的rails routes错误

时间:2016-05-13 09:47:29

标签: ruby-on-rails

我是ROR的新手,我正在阅读Ruby on Rails官方指南(4.2.6),但是当我想添加文章模型时,我遇到了一个问题。

当我试图保存文章时,我收到了错误,

  #p>未定义的方法`article_url'代表#你的意思? articles_url

我发现路线在我的路线中没有“文章”前缀:

majiandeMacBook-Pro:blog majian$ bin/rake routes
Running via Spring preloader in process 26766
       Prefix Verb   URI Pattern              Controller#Action
welcome_index GET    /welcome/index(.:format) welcome#index
         root GET    /                        welcome#index
     articles POST   /articles(.:format)      articles#create
 new_articles GET    /articles/new(.:format)  articles#new
edit_articles GET    /articles/edit(.:format) articles#edit
              GET    /articles(.:format)      articles#show
              PATCH  /articles(.:format)      articles#update
              PUT    /articles(.:format)      articles#update
              DELETE /articles(.:format)      articles#destroy

但在文件中,我发现它应该是这样的:

article GET    /articles/:id(.:format)      articles#show

有人知道为什么路线不同吗?任何帮助将不胜感激。

3 个答案:

答案 0 :(得分:2)

检查您的routes.rb文件,它应如下所示:

该文件位于config / routes.rb

Rails.application.routes.draw do
  get 'welcome/index'
  resources :articles
  root 'welcome#index'

  # For details on the DSL available within this file, see http://guides.rubyonrails.org/routing.html
end

错误可能是由“资源:文章

行中的错误引起的

答案 1 :(得分:0)

article_url要求文章的内容作为参数,在show行动中你应该有这样的内容

article_url(@article)

答案 2 :(得分:0)

我遇到了同样的问题,因为我在resources :article中拼错了routes.rb 我改为使用了resource :article而且没有工作