当调用和值都传递给另一个控制器时,如何增加列值

时间:2011-10-12 20:39:28

标签: ruby-on-rails ruby ruby-on-rails-3

我有两个模型,推介和用户模型。

  

引荐belongs_to用户和用户has_one推荐

当用户注册时,会为他们提供唯一的推介,例如localhost:3000/absc 其中absc是唯一的引荐ID。

当其他用户访问localhost:3000/absc时,使用routes.rb我已提取ID,如下所示

match '/:ref_token' => 'user#new'
@ref_token = params[:ref_token]         #in users_controller.rb

现在我在hits中有一个Referral列,每次访问该网址时都会增加引荐ID absc的值。

我怎样才能优雅地这样做。

这看起来似乎微不足道,但我仍然在走向Ruby启蒙之路,我寻求你的智慧。

1 个答案:

答案 0 :(得分:0)

在您的控制器中,只需执行以下操作:

Referall.find_by_ref_token(params[:ref_token]).increment!(:hits)