首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >路由错误-没有与[GET]匹配的路由在rails中使用activerecord-reputation-system gem时出错

路由错误-没有与[GET]匹配的路由在rails中使用activerecord-reputation-system gem时出错
EN

Stack Overflow用户
提问于 2015-06-22 18:50:23
回答 1查看 123关注 0票数 2

我要将投票系统添加到我的rails应用程序中,并尝试使用activerecord-reputation-system gem运行声誉系统,并关注railscasts #364视频。

我正在为路由错误而苦苦挣扎,当我单击向上投票或向下投票时,它显示错误"No route matches GET "/haikus/1/vote“

/config/routes.rb:

代码语言:javascript
复制
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_CONTROLER.rb:

代码语言:javascript
复制
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:

代码语言:javascript
复制
<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>

我检查了这个issue,但这对我没有帮助。所以,我真的需要你的帮助。

EN

回答 1

Stack Overflow用户

发布于 2015-06-22 19:21:35

从您收到的错误中可以看出,您正在发送GET请求和Rails,等待此操作的POST。您需要确保使用link_to生成了正确的超文本标记语言。

要实现这一点,请检查链接上的data-method是否显示为"post“。为此,您可以右键单击向上\向下投票链接,然后按inspect element。

如果它不在那里,但是您的视图partial说,请尝试按照method: "post"在评论中建议的那样将其更改为method: :post

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30978066

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档