For example, I have a User, Achievement and AchievementDate.
class User < ApplicationRecord
has_many :achievement_dates
has_many :achievements, through: :achievement_dates
end
And when I write add an achievement like this:
user.achievements << achievement
I want through record to be initialized with current date. So I want something like this:
class User < ApplicationRecord
has_many :achievement_dates
has_many :achievements, through: :achievement_dates, initialize_with: :method_name
private
def method_name(achievement_date)
achievement_date.date = Date.current
end
end
Currently I could not find a good way to achieve such behavior in Rails 5.0.0.1, so please, give me some advice or feedback.