在我的视图中的循环中,我有以下代码,它为每条记录组合了一些变量:
<% $theurl = newbrandurl + "/?utm_campaign=" + unique_id + "&utm_source=sales" %>
<%= link_to $theurl, class: "btn btn-success" do %>
Order
<% end %>
但这仅限于我的观点。我想要做的是在将订单保存到数据库并将链接保存到数据库之后,在我的视图之外完成此操作。这可能吗?
编辑:
我的模特:
class Sale < ActiveRecord::Base
attr_accessible :url
after_create :save_link
def save_link
brandurl = Brand.where(:company => @sale.brand).pluck(:url)
newbrandurl = brandurl.shift.strip
unique_id = [@sale.token, @sale.created_at.strftime('%d%m%y-%H:%M:%SUTC')].join("&")
self.save_link = newbrandurl + "/?utm_campaign=" + unique_id + "&utm_source=sales"
end
end
答案 0 :(得分:0)
您需要添加:after_create回调
Class ModelName < ActiveXXX
attr_accessible :url # the attribute name for storing the link
after_create :save_link
def save_link
self.save_link = newbrandurl + "/?utm_campaign=" + unique_id + "&utm_source=sales"
end
end
但是,您需要添加对象数据(newbrandurl,unique_id),无论其来自其他来源是否相关