2015-06-20 1 views
0

Im путать с has_many через модели в рельсах 4, у меня есть 3 моделиКак работать с моделью поворота в имеет много через отношение

Профиль:

has_many :profile_services 
has_many :services, through: :profile_services 

обслуживание:

has_many :profile_services 
has_many :profiles, through: :profile_services 

profile_service:

belongs_to :profile 
belongs_to :service 

так в моей сервисной модели имеет название и описание, и в моем profile_service имеет цену, потому что мне нужно, когда пользователь создает профиль автоматически 3 службы, и он просто может дать цену за свои услуги

И эта логика усложняется для меня, потому что я думаю, что мне не нужен служебный контроллер, потому что я создам эту информацию с семенем, просто нужно создать контроллер для profile_service, потому что пользователь добавит цену для этих сервисов, но я не знаю, как создайте эти 3 службы автоматически при создании профиля ...

любые предложения? просто очистить свой разум

благодарит за ваше время!

ответ

0

Вы можете использовать ActiveRecord callbacks для выполнения любых необходимых операций инициализации в ваших моделях.

class Profile < ActiveRecord::Base 
    after_create :setup_services 

    def setup_services 
    # create appropriate services for the profile 
    end 
end 
+1

ооо благодаря @Dimitris, поэтому, внутри метода будет что-то вроде: '@profile_services = @ profile.build_services'? и работать в режиме просмотра услуг? с чем-то вроде: '<% = f.simple_fields_for: profile_services do | builder | %> ' –