8
실행 : 루비 1.9.3p0 (2011-10-30 개정 33570) [x86_64에-darwin11.2.0, 나는 통해 작업 탄성 검색을 얻으려고 3.2.0Elasticsearch, 타이어 및 협회
레일 협회를 통해 타이어 젬. 여기
Daves-MacBook-Pro:outdoor dave$ rake environment tire:import CLASS=Gear FORCE=true
[IMPORT] Deleting index 'gears'
[IMPORT] Creating index 'gears' with mapping:
{"gear":{"properties":{}}}
[IMPORT] Starting import for the 'Gear' class
--------------------------------------------------------------------------------
101/101 | 100% rake aborted!######################################
undefined method `last_name' for nil:NilClass
Tasks: TOP => tire:import
내 모델입니다 :
GEAR
class Gear < ActiveRecord::Base
attr_accessible :title, :size, :price, :image_url, :sub_category_id, :user_id
belongs_to :user
belongs_to :sub_category
validates :title, presence: true
validates :size, presence: true
validates :price, presence: true
validates :sub_category_id, presence: true
validates :user_id, presence: true
include Tire::Model::Search
include Tire::Model::Callbacks
def self.search(params)
tire.search(load: true, page: params[:page], per_page: 18) do
query { string params[:query]} if params[:query].present?
end
end
def to_indexed_json
to_json(methods: [:sub_category_name, :user_last_name, :user_first_name, :user_email])
end
def sub_category_name
sub_category.name
end
def user_first_name
user.first_name
end
def user_last_name
user.last_name
end
def user_email
user.email
end
end
사용자 뷰에 가끔 타이어 수입에 관한 레이크을 수행 할 때 또는 어떤 이유로 나는 다음과 같은 오류/오류가 계속
class User < ActiveRecord::Base
attr_accessible :first_name, :last_name, :email, :password, :password_confirmation
has_secure_password
has_many :gears
before_save :create_remember_token
email_regex = /\A[\w+\-.][email protected][a-z\d\-.]+\.[a-z]+\z/i
validates :first_name, presence: true,
length: {:maximum => 50 }
validates :last_name, presence: true,
length: {:maximum => 50 }
validates :email, presence: true,
format: {:with => email_regex},
uniqueness: {:case_sensitive => false}
validates :password, presence: true,
confirmation: true,
length: {within: 6..40}
def name
first_name + " " + last_name
end
private
def create_remember_token
self.remember_token = SecureRandom.urlsafe_base64
end
end
Sub_Category
class SubCategory < ActiveRecord::Base
attr_accessible :name
belongs_to :category
has_many :gears
end
무엇이 누락 되었습니까? 감사.
업데이트 : 좋아, 내 데이터베이스에서 오류의 원인 인 몇 가지 NIL 값이있는 것으로 나타났습니다. 바라기를 이것은 약간 사람들을 언젠가 저장할 수 있는다. – DaveG
안녕하세요, 좋은 결과가 나옵니다. 그래서 일부 작성자가 'nil'일 때 가져 오기 프로세스가 중단 되었습니까? ... 또한, 다음과 같이 재사용 할 수도 있습니다. https://github.com/karmi/railscasts-episodes/commit/ee1f6f39002f32ad25134c81dd6de74ff1b708fa 특별한 방법을 만들지 않고 연결을 색인하기 위해서 ... – karmi
예, 내 연관 외래 키가 없기 때문에 가져 오기 프로세스가 작동하지 않습니다. 그런 것을 좋아하지 않는 것 같습니다. 제안을 주셔서 감사합니다, 나는 그것을 살펴 보겠습니다. – DaveG