ошибка синтаксиса рельсов при добавлении столбца в модель - PullRequest
1 голос
/ 05 июня 2019

Я пытаюсь создать музыкальное приложение с рельсами, где я столкнулся с ошибкой, просто интересно, кто-нибудь знает, что это значит?

, когда я сделал

rails g migration add_quantity_to_line_items quantity:integer, default: 1
rails db:migrate

, который отбросил

rails aborted!
SyntaxError: /Users/Code/Ruby/musicapp/db/migrate/20190605091214_add_quantity_to_line_items.rb:4: syntax error, unexpected tSYMBEG, expecting do or '{' or '('
    add_column :line_items, :default, :string
               ^
/Users/mrswordsmith/Code/Ruby/musicapp/db/migrate/20190605091214_add_quantity_to_line_items.rb:5: syntax error, unexpected tINTEGER, expecting tSTRING_CONTENT or tSTRING_DBEG or tSTRING_DVAR or tSTRING_END
    add_column :line_items, :1, :string
class AddQuantityToLineItems < ActiveRecord::Migration[5.2]
  def change
    add_column :line_items, :quantity, :integer,
    add_column :line_items, :default, :string
    add_column :line_items, :1, :string
  end
end

1 Ответ

3 голосов
/ 05 июня 2019

Если я правильно понимаю, что вы хотите достичь, это:

class AddQuantityToLineItems < ActiveRecord::Migration[5.2]
  def change
    add_column :line_items, :quantity, :integer, default: 1
  end
end

В вашем скрипте миграции есть 2 ошибки:

  • Вы не можете поставить запятую (,)
  • Генератор миграции по умолчанию не обрабатывает значения по умолчанию. Необходимо обновить миграцию вручную.

Таким образом, сценарий миграции должен иметь значение rails g migration add_quantity_to_line_items quantity:integer

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