Rails:将值从模型保存到DB

时间:2016-01-14 08:26:03

标签: ruby-on-rails

我在我的模型中使用了大量计算,例如这一个:

def url
  brandurl = Brand.where(:company => self.brand).pluck(:url)
  brandurl = brandurl.shift.strip
  unique_id = [self.token, self.created_at.strftime('%d%m%y-%H:%M:%SUTC')].join("&")
  self.url = brandurl + "/?utm_campaign=" + unique_id + "&utm_source=" + self.channel1 + "&utm_medium=" + self.channel2
end

我想要的只是将url的值保存到我的数据库中。 before_createafter_create都不起作用。 self.class.exists?(url: url)也无效(创建循环和网络服务器崩溃)。任何tipps都非常感谢!

提前致谢。

1 个答案:

答案 0 :(得分:1)

您可以使用update_attributes。

而不是self.url=使用update_attributes,如下所示:

update_attributes(url: brandurl + "/?utm_campaign=" + unique_id + "&utm_source=" + self.channel1 + "&utm_medium=" + self.channel2)