没有路线匹配[PUT]但我包括了#34;资源"在routes.rb中

时间:2015-08-15 21:33:03

标签: ruby-on-rails ruby-on-rails-4 routes

我正在编写一个包含两种文章的博客:"草稿"和"发布"。我正在使用aasm gem来使文章从草稿过渡到已发布或者副词。还有三种类型的用户:"常规读者","编辑"和"管理员"。

当用户撰写文章时,管理员可以评估是否发布文章。为了实现这一目标,管理员可以看到他们可以看到草稿和已发表的文章。

问题在于,当我尝试发布文章时,我得到没有路由匹配[PUT]" / articles" 错误,无论我添加了{{ 1}} resources :articles

我写的代码如下:

的routes.rb

routes.rb

articles_controller.rb

resources :categories
resources :articles do
   resources :comments, only: [:create, :update, :destroy, :show]
end 
devise_for :users
root 'welcome#index'
get '/dashboard', to: 'welcome#dashboard'
put '/articles/:id/publish', to: 'articles#publish'

dashboard.html.erb

...
def publish
     @article.publish! # Article transition from draft to published.
     redirect_to @article
end
...

如果我包含文章资源,我无法理解为什么会出现此错误。如果您需要我提供更多代码,请不要犹豫,问我。

先谢谢。

0 个答案:

没有答案