我正在编写一个包含两种文章的博客:"草稿"和"发布"。我正在使用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
...
如果我包含文章资源,我无法理解为什么会出现此错误。如果您需要我提供更多代码,请不要犹豫,问我。
先谢谢。