簡體   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