0

由于我的 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
4

1 回答 1

1

您可能对resource :relations. 经验法则是:如果使用复数resources,则资源名称也必须是复数(即:relations),如果resource使用单数,则资源名称也应使用单数(即:relation)。

其他可能的问题:您的缩进已关闭。也许这只是一个复制粘贴问题,但还是要检查一下,因为你可能会遇到一些意想不到的嵌套。

还要检查rake routes CONTROLLER=relations。将其与失败请求的日志进行比较,看看每个参数是否匹配。

于 2012-06-11T19:53:03.950 回答