2014-12-08 41 views
0

我的routes.rb文件Rails4,加載ActiveRecord的模型不能正常工作

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]撬(#)> OpenConversation

=>阿比:: OpenConversation

[7]撬(#)> OpenConversation.find(PARAMS [:open_conversation_id])

NameError:6:由(撬)未初始化常數阿比:: OpenAnswersController :: OpenConversation

在`get_conversation」

[8]撬(#)> OpenConversation

NameError:未初始化的常數阿比:: OpenAnswersController ::從(撬)OpenConversation

:7:在`get_conversation」

[9 ]撬(#)> OpenConversation.class

NameError:未初始化的常數阿比:: OpenAnswersController :: OpenConversation

從(撬):8 :在`get_conversation'中

爲什麼OpenConversation模型加載喜歡模塊?

+0

你有在你的路線文件(OpenConversation和OpenAnswer)中定義的類嗎?還是你把他們放在一起,在你的問題中有更少的東西? – 2014-12-08 02:24:15

+0

這是什麼?路由與控制器和控制器與模型和什麼樣的語法是{} – argentum47 2014-12-08 05:21:57

+0

@ argentum47 mymistake ..路由文件和sinmply控制器文件 – kai 2014-12-08 05:23:10

回答

0

你可以給控制器文件樹結構。可能是ApplicationController錯誤地繼承了。

class Api::OpenAnswersController < ApplicationController 
+0

正確的「class Api :: OpenAnswersController kai 2014-12-08 11:29:42

+0

和..你知道我的完整控制器文件樹結構嗎? – kai 2014-12-08 11:30:37