我是铁轨上的红宝石新人,非常感谢任何建议&有关如何使用ruby on rails创建邀请函数的指导。从头开始构建或使用GEM的任何建议将非常感激。
我的架构显示如下。
i would be grateful on any given advise of how to build an invite function
模式
create_table "comments", force: true do |t|
t.text "content"
t.integer "commentable_id"
t.string "commentable_type"
t.integer "user_id"
t.datetime "created_at"
t.datetime "updated_at"
end
create_table "events", force: true do |t|
t.string "name"
t.text "description"
t.date "date"
t.time "time"
t.text "city"
t.decimal "price", precision: 8, scale: 2
t.datetime "created_at"
t.datetime "updated_at"
t.integer "user_id"
end
create_table "relationships", force: true do |t|
t.integer "follower_id"
t.integer "followed_id"
t.datetime "created_at"
t.datetime "updated_at"
end
create_table "users", force: true do |t|
t.string "email", default: "", null: false
t.string "encrypted_password", default: "", null: false
t.string "reset_password_token"
t.datetime "reset_password_sent_at"
t.datetime "remember_created_at"
t.integer "sign_in_count", default: 0, null: false
t.datetime "current_sign_in_at"
t.datetime "last_sign_in_at"
t.string "current_sign_in_ip"
t.string "last_sign_in_ip"
t.datetime "created_at"
t.datetime "updated_at"
t.string "firstname"
t.string "lastname"
t.date "dob"
t.string "gender"
t.text "description"
t.string "role"
end
create_table "votes", force: true do |t|
t.boolean "vote", default: false, null: false
t.integer "voteable_id", null: false
t.string "voteable_type", null: false
t.integer "voter_id"
t.string "voter_type"
t.datetime "created_at"
t.datetime "updated_at"
end
end
答案 0 :(得分:2)
Devise身份验证gem的一个非常有用的延伸是 devise_invitable 。它添加了可用于构建引荐系统的邀请功能,或仅添加到您的Web应用程序的常规电子邮件邀请。它增加了对 devise 的支持,以便通过电子邮件发送邀请
它的工作方式非常简单。它只是向模型添加invite!
方法,您可以像调用create
一样传递属性。
<强> E.g。强>
User.invite!(email: "new_user@example.com", name: "John Doe")
这很棒,如果您在以下位置传递该对象,它会自动跟踪哪个用户发送了邀请:
User.invite!({:email => "new_user@example.com"}, current_user)
# current_user will be set as invited_by
你可以观看这个可以很好地解释邀请系统的rails cast。
希望这会有所帮助..