Jquery добавить рейтинг звезды на рельсах 4

0

Я пытаюсь следовать учебному курсу " Добавление 5-звездной оценки" к модели Rails 4, сделанной @Simpleton, и я не могу успешно создать модель для учебника.

Когда я набираю rails g model Rating comment:references user:references score:integer default: 0 он создаст модель. Когда я запускаю rake db:migrate Я получаю сообщение об ошибке, в котором говорится:

/db/migrate/20140107143726_create_ratings.rb:8: syntax error, unexpected tINTEGER, expecting tSTRING_CONTENT or tSTRING_DBEG or tSTRING_DVAR or tSTRING_END

Что я могу сделать? Есть ли другой способ установить значение по умолчанию для целого числа с именем "оценка"?

Обновить

В "db/migrate/20140107143726_create_ratings.rb" у меня есть:

class CreateRatings < ActiveRecord::Migration
  def change
    create_table :ratings do |t|
      t.references :review, index: true
      t.references :user, index: true
      t.integer :score
      t.string :default
      t.string :0

      t.timestamps
    end
  end
end

* Я изменил комментарий к обзору

Будет ли это работать?

class CreateRatings < ActiveRecord::Migration
  def change
    create_table :ratings do |t|
      t.references :review, index: true
      t.references :user, index: true
      t.integer :score, :default => 0

      t.timestamps
    end
  end
end

основанный на примере 1 и примере 2.

Теги:
ruby-on-rails-4

1 ответ

0
Лучший ответ

Там проблема в вашей миграции /db/migrate/20140107143726_create_ratings.rb.

Удостоверьтесь, что линия score там выглядит примерно так:

add_column :ratings, :score, :integer, default: 0

ОБНОВИТЬ

Да, этот пример должен работать:

class CreateRatings < ActiveRecord::Migration
  def change
    create_table :ratings do |t|
      t.references :review, index: true
      t.references :user, index: true
      t.integer :score, :default => 0

      t.timestamps
    end
  end
end
  • 0
    Хорошо, я обновил свой вопрос. Я не уверен, как правильно исправить файл _create_ratings.rb.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню