Rails:是否有任何用于生成共享链接的 gem(用于联盟营销)?

Tra*_*Liu 0 gem share ruby-on-rails

是否有可以将模型扩展为可共享的宝石?例如,如果某个项目是可共享的,则每个用户都可以获得该项目的唯一共享 URL。如果存在,它可能会以这种方式运行:

class Item < ActiveRecord::Base
  act_as_shareable
end

class User < ActiveRecord::Base
  act_as_sharer
end

# Then can generate an unique share URL like this:
path = some_item.share_by(some_user).path  # "/items/1?ref=v7D3SG251a"
Run Code Online (Sandbox Code Playgroud)

[更新]

并且 gem 还生成一个中间件,该中间件依赖于任何请求params[:ref]并设置请求者的 cookie。

Ess*_*sse 5

我相信这样的解决方案不存在(每个用例都会不同,所以没有通用的宝石)。但是,您可以使用现有的 gem 构建它: