У меня есть следующий метод:Rails на основе условий Назначают модели переменной
def self.get_rec(product, type)
if type == "A"
db = Pwvav
elsif type == "B"
db = Pwbab
elsif type == "C"
db = Pwvub
else type == "D"
db = Tic
db.find_by_id(product.id).recommendation.split(",").each do |rec|
r = Recommendation.find_by_id(rec)
pr = Model.new(:rating_set => rating_set.id, :recommendation_id => r.id, :product_id => product.id)
pr.save
end
end
end
Когда я запускаю метод, то db.find
не работает, как я ожидал. Если, например, заменить db.find_by_id(product.id).recommendation.split(",").each do |rec|
на Pwvav.find_by_id(product.id).recommendation.split(",").each do |rec|
, он работает. Как выбрать, какую модель вызывать, исходя из того, что равно type
?
что ваша ошибка –
я не получаю ошибку, 'pr' не создается. Кроме того, если я напечатать что-то после того, как если/ELSIF него – Yogzzz
"Модель" есть название модели? –