У меня проблема с использованием рельсов и mongoid, я создал задачу рейка, которая петляет по всем школьным классам, и найдите 3 ближайшую премиум-школу, вставьте их в поле Array. Итак, я хочу, чтобы иметь возможность отображать их на представлении, но у меня есть сообщение об ошибке:неопределенный метод для объекта BSON - Ruby on Rails
undefined method `title' for BSON::ObjectId('573f11e808207e00030000a1'):BSON::ObjectId
Вот это TAKS:
namespace :geocodeschool do
desc "Show premium school near non-premium school and update them"
task :schgc => :environment do
@schools = School.all
def premium_school_aside(school)
radius = 50
@schools_a = School.near(school.coordinates.reverse, radius, units: :km)
@schools_premium = @schools_a.premium_school.limit(3)
end
@schools.each do |school|
premium_school_aside(school)
puts "// -------------- //"
puts "AUTO-ÉCOLE : #{school.title}"
puts "// -------------- //"
puts "les auto-écoles premiums près de #{school.title} : #{@schools_premium.count}"
puts "-------"
school.update(school_premium_asides: @schools_premium.map(&:id))
puts "-------"
end
end
end
Здесь вы Вид:
<% unless @school.is_subscribed? %>
<% @schools_premium_aside.each do |spa| %>
<p> <%= spa.title %> </p>
<% end %>
<% end %>
Здесь контроллер:
@schools_premium_aside = @school.school_premium_asides
А вот модель:
# field for premium schools
field :school_premium_asides, type: Array
ли кто-нибудь знает, как я могу получить доступ к данным для отображения 3 премиум-школа по мнению?
Спасибо!
Так что я не могу получить доступ к школе атрибутов только с идентификатором? как я мог сделать, чтобы сохранить классную школу в этом массиве, а не только идентификатор? –
Вы все еще сталкиваетесь с какой-либо проблемой? @AntoninMrchd –
с: '@schools_premium_aside = School.where (id: {'$ in' => @ school.school_premium_asides}). Only (: id,: title)' он работает! Большое спасибо ! –