【发布时间】:2014-12-08 02:13:27
【问题描述】:
我的 routes.rb 文件是
namespace(:api){
resources :open_conversations do
resources :open_answers, :only => [:index, :create, :destroy]
end
}
以及 OpenConversation 和 OpenAnswer 控制器文件
class OpenConversation < ActiveRecord::Base
has_many :open_answers, :dependent => :destroy
end
class OpenAnswer < ActiveRecord::Base
belongs_to :open_conversation
end
然后我将 OpenConversation 模型加载到 OpenAnswer 控制器中
class Api::OpenAnswersController < Api::ApplicationController
before_filter :get_conversation
def get_conversation
binding.pry
@con = OpenConversation.find(params[:open_conversation_id])
@answers = @con.open_answers
end
end
=============== 这是 IRB 调试日志
[6] 撬(#)> 开启对话
=> Api::OpenConversation
[7] 撬(#)> OpenConversation.find(params[:open_conversation_id])
NameError:未初始化的常量 Api::OpenAnswersController::OpenConversation
来自 (pry):6:in `get_conversation'
[8] 撬(#)> 开启对话
NameError:未初始化的常量 Api::OpenAnswersController::OpenConversation
来自 (pry):7:in `get_conversation'
[9] 撬(#)> OpenConversation.class
NameError: 未初始化的常量 Api::OpenAnswersController::OpenConversation
来自 (pry):8:in `get_conversation'
为什么 OpenConversation 模型加载喜欢 Module?
【问题讨论】:
-
您的路由文件中是否定义了类(OpenConversation 和 OpenAnswer)?还是您只是将它们放在一起以减少问题中的内容?
-
这是什么?带有控制器的路由和带有模型的控制器以及{}
-
@argentum47 mymistake.. 路由文件和 sinmply 控制器文件
标签: ruby-on-rails ruby ruby-on-rails-3 activerecord