所以我接受了一个更大的项目,我不确定在哪里可以找到修改它的代码。我们有一个数据库,在那里它被读作Essay - >部分 - >我们正在尝试添加名为' video_url'的新列。我认为这与非规范化有关,但我并不完全确定。
这是Essay模型:
class Essay
include ActiveModel::Model
include ActiveModel::Serialization
include Draper::Decoratable
include Import::HtmlEssay
include Searchable
FACETS = %w(author)
FULLTEXT_FIELDS = %w(title sections.title sections.body sections.figures.caption)
def self.define_mappings!
mapping mapping_options do
analyzer = I18n.locale == :tr ? :turkish : :snowball
indexes :author, index: :not_analyzed
indexes :publication_id, index: :not_analyzed
indexes :sequence, type: 'long'
indexes :title, analyzer: analyzer
indexes :sections do
indexes :title, analyzer: analyzer
indexes :body, analyzer: analyzer
indexes :figures do
indexes :caption, analyzer: analyzer
end
end
end
end
class Query
include Searchable::Query
def sort
[
{ publication_id: { order: 'asc'}},
{ sequence: { order: 'asc' }}
]
end
end
end
现在它只显示[Mash标题,信用,数字(#),网址]。我想将video_url附加到图像模型的一部分(这是我们从中提取URL的地方)但是我不确定它是如何工作的并且遇到了麻烦。我认为他们使用的唯一相关宝石是elasticsearch-model,但是我已经完成了他们的一些东西,我仍然不确定。
控制也是如此(虽然这里没有发生任何事情)如下:
class EssaysController < SearchBaseController
def show
@essay = Essay.find(params[:id]).decorate
end
end
老实说,即使你不知道答案,如果你能告诉我哪里有类似的东西,那就是&#34; FULLTEXT_FIELDS&#34; var来自于它非常有帮助,如果需要,我可以编辑它以添加其他代码段。我真的需要弄清楚如何将video_url列添加到结果中,它可以在elasticsearch中使用,并且可以通过其他方法访问,但不会显示在此处。
答案 0 :(得分:0)
所以我最终发现/ models / concerns / import / *中有另一个文件夹,其中包含有关数据库设置的更多信息。我不确定他们使用的是什么宝石/为什么这样设置,但是当我了解更多信息时,我会更新这个答案。