我是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
有人知道为什么路线不同吗?任何帮助将不胜感激。
答案 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
而且没有工作