Rails中routes.rb中资源的正确顺序(Correct order of resources

2019-09-18 01:04发布

我不断收到的,因为我的routes.rb文件的组织方式奇怪的错误。 最近的一次是,有些功能不能找到模型关系控制器动作“秀”(行动显然是有)。 我想这是因为我将通过收集和东西一些自定义的操作有关,其中被宣布被搞砸的路线。可有人请看看这个,说什么是错的顺序?

YApp::Application.routes.draw do

  require 'resque/server'

  match 'login' => 'user_sessions#new', :as => :login
  match 'logout' => 'user_sessions#destroy', :as => :logout
  match '/get_idx',  :to => 'nodes#get_idx'


  resource :relations do
    collection do
      post 'this_relation'
      post "iframize"
    end
  end


  resource :words do
  get 'page/:page', :action => :index, :on => :collection
    collection do
      get 'front'
      get 'index'
    end
  end

    resource :recommendations do
      collection do
        get 'find_votes'
      end
    end


  get "connotation/create"

  get "connotation/edit"

  get "connotation/update"

  root :to => "words#front", :as => :homepage

  resources :users, :user_sessions, :relations,  :evaluation, :phrases, :metawords, :nodes, :recommendations, :words


  mount Resque::Server.new, :at => "/resque"
  match 'about' => 'words#index' , :as => :about
  match 'contact' => 'keywords#index' , :as => :contact


end

Answer 1:

你可能有一个问题resource :relations 。 经验法则是:如果你使用复数resources ,那么资源的名称也必须是复数(即:relations ),如果你使用resource ,在奇异的,应该比你的资源名称中使用单数过多(即:relation )。

其他可能出现的问题:你的缩进处于关闭状态。 也许它只是一个复制粘贴问题,但检查尽管如此,因为你可能有一些意想不到的嵌套回事。

还要检查rake routes CONTROLLER=relations 。 与此相比,在日志中的失败请求的,看看每个参数相匹配。



文章来源: Correct order of resources in Rails routes.rb