Ruby on rails 路由错误-在rails中使用activerecord信誉系统gem时没有与[GET]匹配的路由错误

Ruby on rails 路由错误-在rails中使用activerecord信誉系统gem时没有与[GET]匹配的路由错误,ruby-on-rails,ruby,activerecord,Ruby On Rails,Ruby,Activerecord,我打算将投票系统添加到我的rails应用程序中,并尝试使用activerecord声誉系统gem和后续视频运行声誉系统 我正在努力解决路由错误,当我单击upvote或downvote时,它显示一个错误“No route matches[GET]”/haikus/1/vote” /config/routes.rb: Youhaiku::Application.routes.draw do get 'signup', to: 'users#new', as: 'signup' get '

我打算将投票系统添加到我的rails应用程序中,并尝试使用activerecord声誉系统gem和后续视频运行声誉系统

我正在努力解决路由错误,当我单击upvote或downvote时,它显示一个错误“No route matches[GET]”/haikus/1/vote”

/config/routes.rb:

Youhaiku::Application.routes.draw do
  get 'signup', to: 'users#new', as: 'signup'
  get 'login', to: 'sessions#new', as: 'login'
  get 'logout', to: 'sessions#destroy', as: 'logout'

  resources :users
  resources :sessions
  resources :haikus do
    member { post :vote }
  end

  root to: 'haikus#index'
end
/app/controllers/haikus_controller.rb:

def vote
  value = params[:type] == "up" ? 1 : -1
  @haiku = Haiku.find(params[:id])
  @haiku.add_evaluation(:votes, value, current_user)
  redirect_to :back, notice: "Thank you for voting!"
end
/app/views/haikus/_haiku.html.erb:

<div class="haiku">
  <%= simple_format haiku.content %>
  <em>
    -- <%= haiku.user.name %>
    | <%= link_to "up", vote_haiku_path(haiku, type: "up"), method: "post" %>
    | <%= link_to "down", vote_haiku_path(haiku, type: "down"), method: "post" %>
  </em>
</div>

-- 
| 
| 

我签出了这个,但这不能帮我。因此,我真的需要这方面的帮助。

从您收到的错误中可以看出,您正在发送GET请求,并且Rails正在等待此操作的发布。您需要确保生成了正确的HTML,其中包含链接到

若要实现此检查,请检查链接上的数据方法是否显示“post”。若要执行此检查,请右键单击向上\向下投票链接,然后按inspect元素


如果它不在那里,但您的视图部分显示了
方法:“post”
尝试将其更改为Pardeep在评论中建议的
方法::post

尝试此
是的,我已经尝试过,但它对我不起作用!您能粘贴呈现此链接后获得的html吗?当我单击“Upvote”时“链接,获取以下错误路由错误没有路由匹配[GET]”/haikus/1/vote”请尝试运行rake routes以获取有关可用路由的更多信息。请尝试以下操作:
即使此操作不起作用
请在页面上告诉我们您在HTML中得到了什么获取下面的HTML代码我得到了此
我可以通过在我的
app/views/layouts/application.rb
。请检查带有向上投票链接的页面标题。