【发布时间】:2014-07-31 18:08:34
【问题描述】:
我正在充实一个新的 Rails 应用程序,并且是第一次使用 Rails 4。脚手架已就位,为每个 MVC 定义了一个“名称”字段。
然后我创建了一个简单的迁移和第一个模型关联:
class Ability < ActiveRecord::Base
belongs_to :player, class_name: "Player", foreign_key: "player_id"
end
class Player < ActiveRecord::Base
has_many :abilities
end
控制台显示正确的字段。我可以保存东西:
> Ability.first
Ability Load (0.1ms) SELECT "abilities".* FROM "abilities" ORDER BY "abilities"."id" ASC LIMIT 1
=> #<Ability id: 1, name: "Ability0", value: 50, created_at: "2014-07-31 16:41:59", updated_at: "2014-07-31 18:14:57", player_id: nil>
> Player.first
Player Load (0.3ms) SELECT "players".* FROM "players" ORDER BY "players"."id" ASC LIMIT 1
=> #<Player id: 1, name: "Player0", created_at: "2014-07-31 16:42:00", updated_at: "2014-07-31 16:42:00">
> Ability.first.player = Player.first
Ability Load (0.4ms) SELECT "abilities".* FROM "abilities" ORDER BY "abilities"."id" ASC LIMIT 1
Player Load (0.2ms) SELECT "players".* FROM "players" ORDER BY "players"."id" ASC LIMIT 1
=> #<Player id: 1, name: "Player0", created_at: "2014-07-31 16:42:00", updated_at: "2014-07-31 16:42:00">
> Ability.first.save!
Ability Load (0.4ms) SELECT "abilities".* FROM "abilities" ORDER BY "abilities"."id" ASC LIMIT 1
(0.1ms) begin transaction
(0.1ms) commit transaction
=> true
但是存档不想“取”:
> Ability.first
Ability Load (0.4ms) SELECT "abilities".* FROM "abilities" ORDER BY "abilities"."id" ASC LIMIT 1
=> #<Ability id: 1, name: "Ability0", value: 50, created_at: "2014-07-31 16:41:59", updated_at: "2014-07-31 18:14:57", player_id: nil>
我知道这很简单,但我很困惑。有什么问题?
【问题讨论】:
-
当您尝试执行此操作时能否使用完整的控制台输出进行更新?
-
已按照@DylanMarkow 的建议更新...
标签: ruby-on-rails-4 associations