私のアプリでは修正できないようなエラーが発生しています。私は[GET] "/ recipes/1/like"と一致するルートエラーがないままです。私が知ることができない問題は、なぜポストではなくリクエストを受け取るかということです。Rails 4の 'like'アクションのエラーと一致するルートはありません
ここは私のコードです。 経路
#recipe routes
resources :recipes do
collection do
get 'search'
end
member do
post 'like'
post 'review'
end
resources :reviews, except: [:show, :index]
end
レシピコントローラ
def like
like = Like.create(like: params[:like], user: @user, recipe: @recipe)
if like.valid?
flash[:success] = "Your selection was successful"
redirect_to :back
else
flash[:danger] = "#{@user} " + 'you can only like/dislike once per item.'
redirect_to :back
end
end
図
<div class="pull-right">
<%= link_to like_recipe_path(@recipe, like: true), method: :post do %>
<i aria-hidden="true" class="fa fa-thumbs-o-up"></i>
<%= @recipe.thumbs_up_total %>
<%end %>
<%= link_to like_recipe_path(@recipe, like: false), method: :post do %>
<i aria-hidden="true" class="fa fa-thumbs-o-down"></i> <%= @recipe.thumbs_down_total %>
<%end %>
</div>
すくい経路
like_workout_path POST /workouts/:id/like(.:format) workouts#like
like_recipe_path POST /recipes/:id/like(.:format) recipes#like
iはボタン
0123を検査<a rel="nofollow" data-method="post" href="/recipes/1/like?like=true">
<i aria-hidden="true" class="fa fa-thumbs-o-up"></i>
0
</a>
私はリンクを検査しましたが、レンダリング時に投稿の動作がありますが、クリックするとこのルーティングエラーページが表示されます。誰かが私が間違って行ったことを説明してもらえますか?
[APIドキュメント](http://api.rubyonrails.org/v4.2/classes/ActionView/Helpers/UrlHelper.html#method-i-link_to): "サポートされている動詞は:post、:delete、 :patch、and:put。ユーザがJavaScriptを無効にしている場合、リクエストはGET._ "を使用することに戻ります。あなたのコードは大丈夫ですか?ブラウザの設定を確認する必要がありますか? – hoangdd
ブラウザのコンソールでリンクを調べましたか?それは 'data-method =" post "'を持っていますか? – Pavan
コントローラーyrの '好き 'メソッドですか? – 7urkm3n