我的首要模式是用户,它有展示位置。
展示位置has_and_belongs_to_many广告系列,反之亦然。
广告系列是一个只有广告系列名称的简单模型。
class Campaign < ActiveRecord::Base
belongs to :user
has_and_belongs_to_many :placements
validates_presence_of :campaign_name
end
我的问题是 - 目前我正在显示一个下拉菜单,其中包含分配给展示位置的所有广告系列。我想做的是创建一个“默认”的各种广告系列,称为“没有广告系列”。因此,如果用户想要创建新广告系列,它将显示在下拉菜单中,或者如果他们不想,则可以使用默认的“未指定广告系列”。
我完成了大部分工作,除了我无法弄清楚 - 如何为资源提供默认数据库条目:广告系列?只是在迁移中设置默认值不起作用,因为它只设置默认文本字段。我希望用户永远不必创建一个广告系列,如果他们不想,他们可以只使用程序分配给每个展示位置的默认广告系列。实现这个的最佳方法是什么?
答案 0 :(得分:1)
实际上,让一个Campaign实例表明用户没有广告系列听起来不是一个好主意。如果您这样做的唯一原因是在下拉列表中显示“No Campaign Specified”,那么您应该使用select标记的:prompt
属性。请查看此答案以获取更多信息:https://stackoverflow.com/a/9696834/512507