我正在尝试按照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
答案 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