1

こんにちは、Rails と MVC は初めてですが、一生懸命勉強しています。現在、AASM を使用して in_draft から published に移行しています。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%>

これはmiルートです

put '/articles/:id/publish', to: 'articles#publish'

そして、私の article_controller publish メソッド

def publish
    @article.publish!
    redirect_to @article
end
4

2 に答える 2

1

あなたは本当に、本当に近いです!#{} を使用して推論できるようにするには、二重引用符を使用する必要があります。

<%= link_to 'Publish', '/articles/#{article.id}/publish', method: :put, class: "alert-link" %>

次のようにする必要があります。

<%= link_to 'Publish', "/articles/#{article.id}/publish", method: :put, class: "alert-link" %>
于 2016-11-21T00:38:27.743 に答える
0

レールへようこそ。memberアクションの追加に使用することをお勧めしますRESTful putレールルーティング

resources :articles do
  put :publish, on: :member
end

現在指定されているルートの問題を解決するには、 してくださいas: :public_article

put '/articles/:id/publish', to: 'articles#publish', as: :public_article

楽しみ

于 2016-11-20T07:24:22.563 に答える