你如何保存'数据到rails控制器中的数据库?

时间:2014-07-14 22:34:14

标签: ruby-on-rails ruby controller save persistence

我在rails控制器中收到ajax数据。 我的:updatedFunds进入了参数范围,并且我将用户的美元列值设置为等于它的值 - 但它不会持久存在!

def update_dollars
    @user = User.find(params[:user_id])
    new_dollars = params[:updatedFunds]
    @user.dollars = new_dollars.to_i

    #store to database?
end

这是最后一步吗?

3 个答案:

答案 0 :(得分:6)

def update_dollars
    @user = User.find(params[:user_id])
    new_dollars = params[:updatedFunds]
    @user.dollars = new_dollars.to_i

    @user.save #store to database!
end

答案 1 :(得分:0)

有两种方法可行。

@user.update(dollars: new_dollars.to_i)

将更改属性并记录数据库中的更改。

您也可以使用ruby setter方法更改它,然后保存到数据库,例如@agripp的解决方案。两者都使用ActiveRecord,一个Ruby on Rails喜欢的对象关系映射器。如果你想看看它上面的文档真棒。

答案 2 :(得分:0)

您可以使用@ user.save或使用@ user.save!然后会提出一个例外,即保存失败(例如,如果验证失败)