Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 拇指朝上时出现路由错误_Ruby On Rails_Rails Routing - Fatal编程技术网

Ruby on rails 拇指朝上时出现路由错误

Ruby on rails 拇指朝上时出现路由错误,ruby-on-rails,rails-routing,Ruby On Rails,Rails Routing,我按照回答中的步骤竖起大拇指 但是,我一直遇到这个错误,不知道如何修复它: 没有路由匹配{:action=>“投票”,:controller=>“posts”,:id=>nil} 有人能帮忙吗 更新: 精确误差- 路由错误 没有路由匹配{:action=>“投票”,:controller=>“posts”,:id=>nil} 尝试运行rake路由以获取有关可用路由的更多信息 config/routes.rb: Projectmadrone::Application.routes.draw do

我按照回答中的步骤竖起大拇指

但是,我一直遇到这个错误,不知道如何修复它:

没有路由匹配{:action=>“投票”,:controller=>“posts”,:id=>nil}

有人能帮忙吗

更新:

精确误差-

路由错误

没有路由匹配{:action=>“投票”,:controller=>“posts”,:id=>nil}

尝试运行rake路由以获取有关可用路由的更多信息

config/routes.rb:

Projectmadrone::Application.routes.draw do
  devise_for :admins
  #devise_for :users
  devise_for :users do get '/users/sign_out' => 'devise/sessions#destroy' end
  resources :posts do
    member do
        post :vote_up
       end
     end
  root :to => 'posts#index'
 end
我的视图:app/views/posts/index.html.erb

<li><%= link_to('vote for this post!', vote_up_post_path(@post), :method => :post) %></li>
  • :post)%>

  • 您的@post变量似乎为零。可能是因为您在索引视图中而不是在显示视图中使用它。所以你应该试着把链接放到app/views/posts/show.html.erb中

    你能发布“config/routes.rb”的确切内容以及服务器日志中关于此错误的上下文/排序行吗?不幸的是,这并不能解决问题,它仍然会给我同样的错误。也许你可以将整个代码推送到github,然后发送链接,或者至少发布posts_controller.rb。哦,我明白为什么我的@post是零!!它不允许我现在就发布,因为发布后8小时内我不允许回答自己的问题。。。但基本上我所要做的就是在link_中将@post改为post调用,因为它是在一个块内执行的。实际上我不知道这是否真的解决了问题,因为现在当我点击投票时,它会导致一个空白页面