2013-08-18 90 views
0

我正在研究一个应用程序,允许用户创建事件并将它们归档到一个类别中。当用户填写他们自己的事件属性数据时,他们必须从预先存在的类别列表中进行选择,这些类别的事件将归入其中。如何在不添加控制器的情况下填充表格?

我想将这些类别硬编码到应用程序中,但我不确定如何执行此操作。我想在没有控制器和视图的情况下执行此操作,因此我不必添加安全功能来保护用户。

这是我的模型:

class Category < ActiveRecord::Base 
    attr_accessible :name 
    has_many :events 
end 

class Event < ActiveRecord::Base 
    attr_accessible :address, :category_id, :cost, :title, :venue 
    belongs_to :category 
    validates :address, :category_id, :cost, :title, :venue, presence: true 
end 

回答

0

为此,可以使用所谓Seeding Data做。

这里是你如何能做到这一点的例子:

# db/seeds.rb 
["Category1", "Category2", "Category3"].each do |category| 
    Category.find_or_create_by_name(category) 
end 
从终端

然后使用运行的种子:

rake db:seed 
+0

这个工作很好,我能得到正常工作模式协会,但是我用'@categories.each do'迭代所有类别名称时遇到了一些麻烦。我得到错误“未定义的方法'每个'为零:NilClass”。使用seeds.rb时,还有另外一种方法吗? – BHOLT

+0

如果我正确地理解了你(即使用实例变量):你不使用seeds.rb。我建议你问一个新问题,详细说明你现在在做什么以及问题是什么。 – vee

相关问题