[英]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.