Я как-то недавно стал промежуточным (: D) в рельсах, и я начинаю решать более сложные проекты, требующие множественного класса и взаимодействия с моей моделью, и я как бы теряюсь в том, как создавать/заказывать мой код.рубин на рельсах Создание внутри модели?
У меня есть product_table и product_details_table.
Каждый раз, когда продукт создается, изображение загружается вместе с ним.
В классе продукта я создал несколько методов, которые заполняют виртуальные атрибуты для этого продукта, связанные с этим изображением (размер и т. Д.). Это все работает с обратным вызовом paperclip после загрузки.
Моя проблема заключается в том, что из этого размера изображения я хотел бы автоматически генерировать значения атрибутов в моей таблице product_details.
Product_details.new(product_id:current_product_id(**is it self.id here?**),size:product.virtual_attribut_size,x:virtual_attribut_x)
Как вы это сделаете?
Я бы сделал это в своем контроллере, это нужно сделать автоматически после загрузки файла, а не раньше, и я не знаю, как это сделать.
Если я делаю это в своей модели, я предполагаю, что он может работать (как обычный класс), но это способ сделать это?
Благодаря тем, кто пытается помочь
редактировать:
В основном моя модель продукта будет выглядеть следующим образом:
class Product < ActiveRecord::Base
def image_to_inch
#return "30x30" (in inch) for an image uploaded in pixel (divide the number of pixel by 300dpi to get a good quality print)
end
def image_printable_size
#use previous method result to output an array of all printable size from a list of predifined sizes. example : 30x30 can be printed in 30x30,20x20,10x10 but not 40x40.
#output ["30x30","20x20","10x10"]
end
##Here i should iterate over the array and create a product_details line for that product for each size :
## simplified version of what i was going for and that look really really ugly :
["30x30","20x20","10x10"].each do |size|
ProductDetail.create!(product_id:self.id,size:size)
end
end
я уже ушел из обратных вызовов, проверки и т.д.. так что его легче читать.
Какова связь между продуктом и продуктом? –
'class Продукт
jayD