为rails创建默认资源

时间:2014-11-25 20:41:46

标签: ruby-on-rails ruby-on-rails-4

我的首要模式是用户,它有展示位置。

展示位置has_and_belongs_to_many广告系列,反之亦然。

广告系列是一个只有广告系列名称的简单模型。

class Campaign < ActiveRecord::Base
  belongs to :user
  has_and_belongs_to_many :placements

  validates_presence_of :campaign_name
end

我的问题是 - 目前我正在显示一个下拉菜单,其中包含分配给展示位置的所有广告系列。我想做的是创建一个“默认”的各种广告系列,称为“没有广告系列”。因此,如果用户想要创建新广告系列,它将显示在下拉菜单中,或者如果他们不想,则可以使用默认的“未指定广告系列”。

我完成了大部分工作,除了我无法弄清楚 - 如何为资源提供默认数据库条目:广告系列?只是在迁移中设置默认值不起作用,因为它只设置默认文本字段。我希望用户永远不必创建一个广告系列,如果他们不想,他们可以只使用程序分配给每个展示位置的默认广告系列。实现这个的最佳方法是什么?

1 个答案:

答案 0 :(得分:1)

实际上,让一个Campaign实例表明用户没有广告系列听起来不是一个好主意。如果您这样做的唯一原因是在下拉列表中显示“No Campaign Specified”,那么您应该使用select标记的:prompt属性。请查看此答案以获取更多信息:https://stackoverflow.com/a/9696834/512507