没有路由匹配 [PUT] "/articles" 但我在路由中包含了 put 路由
No route matches [PUT] "/articles" but I included the put route in routes
大家好,我是 rails 和 MVC 的新手,但我正在努力学习。现在我正在使用 AASM 从 in_draft 过渡到已发布。
我能够在 rails 控制台中进行更改,但是当我尝试使用 link_to 时,我在问题
中遇到了错误
`#/app/views/welcome/dashboard.html.erb
<% if article.may_publish? %>
<%= link_to 'Publish', '/articles/#{article.id}/publish', method: :put, class: "alert-link" %>
<%end%>
这是我的路线
put '/articles/:id/publish', to: 'articles#publish'
还有我的articles_controller发布方法
def publish
@article.publish!
redirect_to @article
end
欢迎来到rails。我建议您使用 member
添加 RESTful put
操作。 Rails routing
resources :articles do
put :publish, on: :member
end
要解决您当前给定的路线问题,请as: :public_article
。
put '/articles/:id/publish', to: 'articles#publish', as: :public_article
享受
你真的非常非常接近!您需要使用双引号才能使用 #{} 进行推断。
<%= link_to 'Publish', '/articles/#{article.id}/publish', method: :put, class: "alert-link" %>
应该是:
<%= link_to 'Publish', "/articles/#{article.id}/publish", method: :put, class: "alert-link" %>
大家好,我是 rails 和 MVC 的新手,但我正在努力学习。现在我正在使用 AASM 从 in_draft 过渡到已发布。 我能够在 rails 控制台中进行更改,但是当我尝试使用 link_to 时,我在问题
中遇到了错误`#/app/views/welcome/dashboard.html.erb
<% if article.may_publish? %>
<%= link_to 'Publish', '/articles/#{article.id}/publish', method: :put, class: "alert-link" %>
<%end%>
这是我的路线
put '/articles/:id/publish', to: 'articles#publish'
还有我的articles_controller发布方法
def publish
@article.publish!
redirect_to @article
end
欢迎来到rails。我建议您使用 member
添加 RESTful put
操作。 Rails routing
resources :articles do
put :publish, on: :member
end
要解决您当前给定的路线问题,请as: :public_article
。
put '/articles/:id/publish', to: 'articles#publish', as: :public_article
享受
你真的非常非常接近!您需要使用双引号才能使用 #{} 进行推断。
<%= link_to 'Publish', '/articles/#{article.id}/publish', method: :put, class: "alert-link" %>
应该是:
<%= link_to 'Publish', "/articles/#{article.id}/publish", method: :put, class: "alert-link" %>