繁体   English   中英

has_one更新问题

[英]has_one update problem

我有两个模型,用户和帐户。 每个用户可以拥有一个帐户。

为用户创建帐户可以正常工作。 我的问题是,当我尝试更新帐户时,先前的帐户user_id无效,并使用user_id创建新的帐户行。 我不希望发生这种情况。 我想使用帐户更改来更新现有行。 我该怎么做呢?

谢谢。

有了这段代码

@account = @user.account.build(params[:account])
if @account.save 
   #... 
else 
   #...
end 

你正在建立一个新account 你需要的是更新

if @account.update_attributes(params[:account])
   #...
else
   #...
end

由于您没有提供任何代码,我们可以说这是您创建用户的方式

user = User.create(:name => "bob")

然后,您可以通过指定user_id将用户与帐户相关联

account = Account.create(:user_id =>user.id, :status => "not activated")

现在假设我们想要更改帐户的状态。 我们可以在rails http://api.rubyonrails.org/classes/ActiveRecord/Base.html#M002270中调用更新的方法,如下所示:

Account.update( account.id, :status => "activated")

我可以通过更多信息提供更多帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM