Ruby on rails 3.2 太阳黑子索引有一个联系
我有以下“提交”模型Ruby on rails 3.2 太阳黑子索引有一个联系,ruby-on-rails-3.2,sunspot,Ruby On Rails 3.2,Sunspot,我有以下“提交”模型 class Submission < ActiveRecord::Base self.table_name = "SUBMISSION" self.primary_key = "SUB_ID" has_one :publication, :foreign_key => "PUB_SUBMISSION_FK", :dependent => :destroy has_one :refpublication,
class Submission < ActiveRecord::Base
self.table_name = "SUBMISSION"
self.primary_key = "SUB_ID"
has_one :publication, :foreign_key => "PUB_SUBMISSION_FK", :dependent => :destroy
has_one :refpublication, :through => :publication
belongs_to :submitter, :class_name => "Person", :foreign_key => "SUB_SUBMITTER_FK"
#***************************************************************************************
#Solr searchable attributes
#***************************************************************************************
searchable do
text :publication_PUB_REF_ID do
publication.PUB_REF_ID
end
text :submitter_PER_NAME do
submitter.PER_NAME
end
text :SUB_OID, :boost => 5
text :SUB_ASSAY_TYPE
end
end #end of submission class
类提交“PUB\u SUBMISSION\u FK”,:dependent=>:destroy
有一个:refpublication,:到=>:publication
属于:提交者,:class\u name=>“Person”,:foreign\u key=>“SUB\u submitter\u FK”
#***************************************************************************************
#Solr可搜索属性
#***************************************************************************************
可搜索do
文本:出版物发布参考ID do
publication.PUB_REF_ID
结束
文本:提交人姓名
提交人的姓名
结束
文本:SUB_OID,:boost=>5
文本:SUB_分析类型
结束
结束#提交课程结束
当我运行rake太阳黑子:reindex时,我得到
雷克流产了!
nil:NilClass的未定义方法'PUB_REF_ID'
我看不出上面的代码有什么问题`PUB_REF_ID'是“publications”表中的一个字段
我索引“has_one”关联的方式是否有问题
非常感谢您的帮助:)找到了解决方案:)
并非所有提交的内容在我的“出版物”表中都有行
以下是我使用的解决方案:
而不是:
text :publication_PUB_REF_ID do
publication.PUB_REF_ID
end
我使用:
text :publication_PUB_REF_ID do
publication.nil?? '' : (publication.PUB_REF_ID.nil?? '' : publication.PUB_REF_ID)
end
希望这能对其他人有所帮助:)