2014-10-11 3 views
1

Я пытаюсь создать новую пользовательскую модель, и я мог бы поклясться, что это работало раньшеНелегальная имя файла миграции

$ rails generate migration User.rb 

но теперь он жалуется, что это незаконно. Я получаю сообщение об ошибке:

Illegal имя для миграции файла: user.rb (только строчные буквы, цифры и «_» разрешено)

Как вы можете видеть user.rb только в нижнем регистре.

+5

Он должен быть 'рельсы генерировать миграции User' .. –

ответ

3

Фактически, вопрос здесь: ., который у вас есть между User и rb, то есть: User.rb. Если вы измените его на: rails generate migration Userrb, тогда он должен работать.

Однако, вы можете быть более эффективным при создании миграции, следуя небольшой конвенции:

  • Для создания пользователей таблицы:

    $ rails generate migration create_users

    или:

    $ rails generate migration CreateUsers

  • Чтобы иметь некоторые столбцы при создании таблицы пользователей:

    $ rails generate migration create_users name:string email:string address:text

    или:

    $ rails generate migration CreateUsers name:string email:string address:text

UPDATE: Извиняюсь за не считают свою линию: сгенерировать новую модель пользователя.Если вы хотите создать модель, то вы можете запустить эти удобные команды:

  • Чтобы создать модель пользователя, которая будет также создавать пользователей миграции таблицы по умолчанию:

    $ rails generate model user

    или:

    $ rails generate model User

  • Чтобы создать модель пользователя, которая также будет создавать миграцию таблицы пользователей с некоторыми атрибутами по умолчанию:

    $ rails generate model user name:string email:string address:text

    или:

    $ rails generate model User name:string email:string address:text

0

Изменить на пользователь вместо User.rb.

0

Миграции должны быть такими.

rails generate migration add_email_to_users email:string 

Я не знаю, чего добиваются User.rb. Хотя см. this doc. Это хорошее начало, если вы не знаете, как работают миграции.

+0

или' AddEmailToUsers' ............ –

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