剛剛安裝了elasticsearch gem並進行了配置。使用elasticsearch關聯數據庫
我得到了正確的模型的搜索工作。然而在視圖上我還包括來自被稱爲公司相關的數據庫模型的數據,這讓我這個錯誤:
undefined method `company' for #<Elasticsearch::Model::Response::Result:0x000001032d67d0>
如果我嘗試刪除相關的觀點,即有關數據庫的一切,搜索完美的作品。所以這只是解決這個問題。
我對application.rb中模式是這樣的:
require 'elasticsearch/model'
class Application < ActiveRecord::Base
belongs_to :company
has_many :answers
include Elasticsearch::Model
include Elasticsearch::Model::Callbacks
....
我的課,我顯示出來(searches_controller.rb:
def index
@application = Application.search(params[:query])
end
,最後的index.html。 erb文件:
<%= form_tag search_startup_path, method: :get do %>
<p>
<%= text_field_tag :query, params[:query] %>
<%= submit_tag "Search", name: nil %>
</p>
<% end %>
<hr>
<% @application.each do |f| %>
<h2><%= f.company.name %> is looking for a <%= f.work_type %></h2>
<%= image_tag f.company.avatar(:medium), alt:"#{f.company.name.pluralize} logo", height:"100", width:"100" %>
<p><%= link_to "Visit #{f.company.name.pluralize} website", f.company.website, rel: "nofollow" %></p>
<p>Company located in: <%= f.company.city %>, <%= f.company.country %></p>
<p>Required to be on location: <%= f.location %> </p>
<% end %>
因此,在沒有elasticsearch的情況下查看關聯的公司數據庫可以正常工作。所以這裏沒有錯誤,我只是不確定如何啓用elasticsearch來查看屁股。模型