我正在寻找最佳/最有效的方法来添加保存到数据库的类别。我已经使用名称列创建了类别模型。我生成了控制器。我的第一个想法是直接将类别输入控制器,因为我将是唯一可以创建,编辑和销毁它们的人。这就是它的样子:
class CategoriesController < ApplicationController
def women
end
def kids
end
def babies
end
def home_decor
end
end
很好,但是这并没有保存到数据库中,因为我想稍后将这些类别与产品关联起来,我需要将它保存到数据库中。我可以直接在控制台中创建这些类别,但我不确定当我推动生产(在Heroku上)如何再次创建它们(这看起来有点单调乏味)。
我的另一个选择是创建一个表单来创建类别,并且只提供对管理员的访问权限。
我错过了什么吗?是否有更有效的方法来执行此操作,或者管理路由是处理它的最佳方式吗?
感谢您的任何建议!
答案 0 :(得分:2)
忘了那个控制器。您要找的是db/seeds.rb
。它只是一个放置数据库默认内容的脚本。因此,在您的情况下,您需要提供以下内容:
Category.delete_all # For avoiding duplicate content
Category.create!({id: 1, name: 'women'}) # Use create! so you'll know if there is any errors
Category.create!({id: 2, name: 'kids'})
# etc...
然后运行脚本将该内容放入db:
rake db:seed
在heroku中:
heroku run rake db:seed