2014-11-12 4 views
0

Я ищу лучший/наиболее эффективный способ добавления категорий, которые сохраняются в базе данных. Я создал модель категории с столбцом имени. Я создал контроллер. Моя первая мысль заключалась в том, чтобы просто ввести категории непосредственно в контроллер, так как я буду единственным, кто может создавать, редактировать и уничтожать их. Это то, что это выглядело как:лучший способ добавить категории в базу данных

class CategoriesController < ApplicationController 

def women 
end 

def kids 
end 

def babies 
end 

def home_decor 
end 

end 

Fine, но это не спасает в БД и так как я хотел бы связать эти категории ж/продукты позже мне это нужно, чтобы сохранить в БД. Я мог бы создавать эти категории непосредственно в консоли, но я не уверен, что, когда я нажимаю на производство (на Heroku), как создавать их снова (и это кажется немного утомительным).

Другой вариант, который у меня есть, - это создать форму для создания категорий и предоставить доступ только администратору.

Я что-то упустил? Есть ли более эффективный способ сделать это или маршрут администратора - лучший способ справиться с этим?

Спасибо за любые предложения!

ответ

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... 

Затем просто запустите скрипт для размещения этого контента в БД:

rake db:seed 

И в Heroku:

heroku run rake db:seed 
+0

Спасибо Марио. Он отлично работал на dev, но у меня проблемы с геройкой из-за другой ошибки. Есть ли способ просмотреть базу данных Heroku, возможно, что-то похожее на браузер sqlite? – Kelly

+0

Какая проблема? Вы можете запустить 'heroku run rails console'. Вы перенесли свою базу данных на героку? –

+0

Получаю это сообщение об ошибке 'rake aborted! ActiveRecord :: UnknownAttributeError: неизвестный атрибут: admin ' У меня был пользователь в seeds.db, у которого был статус администратора, но я не создал эту таблицу в db для пользователей. Поэтому я создал таблицу для администратора и все еще получил сообщение об ошибке. Я тоже сбросил db и попробовал запустить heroku rake db: семя снова и то же самое. Затем я попытался удалить этого пользователя из моего seeds.db и сбросить, но все равно получаю такое же сообщение об ошибке. Спасибо за вашу помощь! – Kelly

Смежные вопросы