【问题标题】:Routing error in thumbs_upthumbs_up 中的路由错误
【发布时间】:2012-09-03 19:42:34
【问题描述】:

我按照此答案中指示的步骤设置 thumbs_up

https://stackoverflow.com/a/4963297/1643048

但是我不断收到此错误,不知道如何解决它:

没有路线匹配 {:action=>"vote_up", :controller=>"posts", :id=>nil}

谁能帮忙?

更新:

准确的错误-

路由错误

没有路线匹配 {:action=>"vote_up", :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>

【问题讨论】:

  • 您能否发布您的“config/routes.rb”的确切内容以及有关此错误的服务器日志的上下文/周围行?

标签: ruby-on-rails rails-routing


【解决方案1】:

您的@post-variable 似乎为零。可能是因为您在索引视图而不是显示视图中使用它。因此,您应该尝试将 link_to-code 放入 app/views/posts/show.html.erb 中。

【讨论】:

  • 不幸的是,这并不能解决问题,它仍然给我同样的错误
  • 也许您可以将整个代码推送到 github 并发送链接,或者至少也发布 post_controller.rb。
  • 哦,我明白为什么我的@post 是零!!
  • 它现在不允许我发帖,因为我在发帖后的 8 小时内不能回答我自己的问题...但基本上我所要做的就是更改 @post 以发帖link_to 调用,因为它在块内执行。
  • 其实我不知道这是否真的解决了问题,因为现在当我点击投票时,它会导致一个空白页面
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-09-02
  • 1970-01-01
  • 1970-01-01
  • 2017-08-08
  • 1970-01-01
相关资源
最近更新 更多