J'étais un peu confus quant à la portée de mon travail, je vais donc le résumer ici sous forme de mémorandum. Au fait, la personne que j'écris est une personne qui est ingénieur depuis un mois. Si vous avez des erreurs, veuillez commenter.
Je veux transmettre les variables de chacun à la portée.
Office.rb
scope :search, lambda { |keyword|
where('name LIKE (?) OR
address LIKE (?) OR
near_station LIKE (?) OR
introduction LIKE (?) OR
company LIKE (?)',
"%#{keyword}%",
"%#{keyword}%",
"%#{keyword}%",
"%#{keyword}%",
"%#{keyword}%")
}
offices_controller.rb
keywords = params[:keyword].split(/[[:blank:]]+/).select(&:present?)
offices_list = []
keywords.each do |keyword|
offices_list += Office.search(keyword)
Le code n'est que partiellement extrait, mais j'ai pu l'implémenter de cette manière. En fin de compte, il est devenu le code ci-dessus, mais le code suivant a également fonctionné normalement.
Office.rb
scope :search, keyword { where('name LIKE (?) OR
address LIKE (?) OR
near_station LIKE (?) OR
introduction LIKE (?) OR
company LIKE (?)',
"%#{keyword}%",
"%#{keyword}%",
"%#{keyword}%",
"%#{keyword}%",
"%#{keyword}%")
}
Recommended Posts