我使用了这3个模型的多种模式
class User < ActiveRecord::Base
has_many :user_topics
has_many :topics, through: :user_topics
end
class Topic < ActiveRecord::Base
validates_presence_of :name
validates :name, :uniqueness => true
end
class UserTopic < ActiveRecord::Base
belongs_to :user
belongs_to :topic
accepts_nested_attributes_for :topic
end
目前,每次创建新的user_topic时都会尝试创建新的主题模型。我只想在主题名称不存在的情况下创建新的主题模型,否则,如果确实存在,则使用现有的topic_id。
类似于:
class UserTopic < ActiveRecord::Base
belongs_to :user
belongs_to :topic
accepts_nested_attributes_for :topic, :first_or_create(:name)
end
是否可以做类似的事情?