Ruby on Rails: вставка в базу данных из терминала - PullRequest
0 голосов
/ 30 июня 2011

Я пытаюсь вставить некоторые параметры в базу данных с помощью терминала, поскольку для этих параметров нет реального администратора, поскольку они никогда не изменятся.Я пытаюсь использовать следующую команду

o = MeasurementOption.new(:name => 'Lbs', measurement_type_id => '3')

и получаю следующую синтаксическую ошибку

рядом с неожиданным токеном `('

Я смотрю на примерыи, похоже, у меня правильный синтаксис.

Ответы [ 2 ]

3 голосов
/ 30 июня 2011

Я думаю, вам не хватает двоеточия

o = MeasurementOption.new(:name => 'Lbs', :measurement_type_id => '3')
                                          ^
1 голос
/ 30 июня 2011

Новый стандартный способ сделать это - потерять =>. Лучше всего перейти на Rails Way, сделав так:

o = MeasurementOption.new(name: 'Lbs', measurement_type_id: '3')

Кроме того, если вы добавляете некоторые статические значения, которые никогда не изменятся, было бы вредно создавать их в файле seed.

Зайдите в db / seeds.rb и добавьте

o = MeasurementOption.create!(name: 'Lbs', measurement_type_id: 3)

Тогда вы также можете использовать o 'позже в файле seed, если вам нужно, например:

duplicate_option = o

Тогда, когда вы захотите заполнить свою базу данных, вы просто позвоните rake db:seed. Таким образом, вам не нужно будет создавать этот статический параметр MeasurementOption каждый раз, когда вам нужно сбросить базу данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...