Kyl*_*cot 12 ruby ruby-on-rails ruby-on-rails-4
我有一个GPA
没有主键的ActiveRecord模型:
class GPA < ActiveRecord::Base
end
Run Code Online (Sandbox Code Playgroud)
当我试着打电话给GPA.first.to_json
我时TypeError: false is not a symbol
.我猜这是由于ActiveRecord尝试查找主键.没有主键实现模型的正确方法是什么?
And*_*ing 17
通常,有一些列或列的组合一起形成主键.当你说你的桌子没有主键时你的意思是它没有一个id
字段吗?
是否有另一列是唯一/自然键?如果是这样,你可以做到:
class GPA < ActiveRecord::Base
set_primary_key :strm # eg column strm is a unique/natural key
end
Run Code Online (Sandbox Code Playgroud)
您还可以将复合键与复合键gem一起使用,如下所示:
class GPA < ActiveRecord::Base
set_primary_keys :student_id, :strm
end
Run Code Online (Sandbox Code Playgroud)
您的迁移或架构需要类似的东西
create_table :gpas, :id => false do |t|
t.int :strm
t.string :gpa
t.string :acad_career
t.int :student_id
end
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
10692 次 |
最近记录: |