Jquery在rails 4上添加星级评级

时间:2014-01-07 14:47:13

标签: jquery ruby ruby-on-rails-4

我正在尝试按照Adding a 5 star ratings feature to a Rails 4 model制作的@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

我该怎么办?是否有不同的方法来设置名为“score”的整数的默认值?

更新

“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

基于Example1Example 2

1 个答案:

答案 0 :(得分: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