2013-04-22 126 views
0

我需要一些帮助。我有2类:Rails 3中的belongs_to和has_many

SharedInfo

class SharedInfo < ActiveRecord::Base 
    attr_accessible :shared_info_type_id, :severity_id, :source_info_id, :created_date 
    belongs_to :Severity, :foreign_key => :severity_id 
    belongs_to :SharedInfoType, :foreign_key => :shared_info_type_id 
    belongs_to :SourceInfo, :foreign_key => :source_info_id 
end 

严重

class Severity < ActiveRecord::Base 
    has_many :SharedInfo, :foreign_key => :severity_id 
end 

的问题是:
我有一个instace SharedInfo@sharedinfo。当我打电话给以下声明:

@sharedinfo.Severity 

它返回一个错误:“undefined”。我究竟做错了什么?

回答

1

您已使用camelized类。您需要用underscore替换它们。

belongs_to :severity, :foreign_key => :severity_id 
belongs_to :shared_info_type, :foreign_key => :shared_info_type_id 
belongs_to :source_info, :foreign_key => :source_info_id 

HTH

+0

它仍然没有我的情况下工作。我不知道为什么,但它似乎只在红宝石1.8工作。我用户ruby 1.9 rails 3.2 – 2013-04-22 06:14:21

+0

您需要将Severity中的其他关联和其他类更改为下划线类型。请检查并更改这些。 – 2013-04-22 08:42:11

相关问题