更新: 我在Template :: Section:
中有这个方法 def first_content()
return contents.first;
end
在控制台中运行... Template::Section.find(id).first_content
返回一个值..
但是每当服务器运行时,当使用完全相同的ID调用完全相同的方法时,我会得到下面描述的错误...这是用户/控制器交互的结果....
ORIGINAL:
使用rails 2.3.14
我只是在脚本/服务器和脚本/控制台
中执行此操作<Template::Section Object>.template_contents
在脚本/服务器中,它实际上返回关联的template_contents,但在服务器上,我收到此错误:
Mysql2::Error: Unknown column 'contents.template_section_id' in 'where clause': SELECT * FROM `contents` WHERE (`contents`.template_section_id = 10) ORDER BY sequence
它看错了桌子!
以下是我对这两个模型的模型设置:
class Template::Section < ActiveRecord::Base
set_table_name "template_sections"
has_many :template_contents,
:order => 'sequence',
:dependent => :destroy,
:class_name => "Template::Content",
:foreign_key => "template_section_id"
class Template::Content < ActiveRecord::Base
set_table_name "template_contents"
belongs_to :template_section,
:class_name => "Template::Section",
:foreign_key => "template_section_id"
这应该可行,对吗?为什么脚本/服务器无法识别两个类的set_table_name?
我应该提一下,我为内容创建了一个别名:
def contents(version = nil)
return self.template_contents
end