代码之家  ›  专栏  ›  技术社区  ›  Kalyan Maddu

有一个更新问题

  •  4
  • Kalyan Maddu  · 技术社区  · 14 年前

    我有两种型号,用户和帐户。每个用户可以有一个帐户。

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

    谢谢。

    2 回复  |  直到 14 年前
        1
  •  3
  •   Ju Nogueira    14 年前

    用这个代码

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

    你在建造一个新的 account . 你需要的是更新

    if @account.update_attributes(params[:account])
       #...
    else
       #...
    end
    
        2
  •  1
  •   Schneems    14 年前

    因为您没有提供任何代码,所以我们假设这是您创建用户的方式

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

    然后,您可以通过指定 用户标识

    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")
    

    我可以提供更多的信息。

    推荐文章