我希望用户能够在点击按钮时向管理员发送提醒。有点"帮帮我",留言。我看了,我知道你用current_user.admin做一些if else语句?但我不知道从哪里开始。
答案 0 :(得分:1)
一个非常基本的实现就像拥有一个名为HelpTicket
的模型,当用户按下Help Me按钮时,它会在数据库中创建一个新的Ticket。
然后,您可以随时通过电子邮件向管理员发送电子邮件,只要有新票证和/或您可以在管理员登录时检查是否有未应答的票证并通知他们。
# create_help_tickets_table_migration.rb
create_table :help_tickets do |t|
t.integer :user_id
t.text :description
t.integer :status, default: 0
t.timestamps null: false
end
# help_ticket.rb
class HelpTicket < ActiveRecord::Base
belongs_to :user
enum :status, [:unanswered, :completed]
end
# help_tickets_controller.rb
class HelpTicketsController < ApplicationController
def create
ticket = HelpTicket.new(params.permit(:description))
ticket.user_id = current_user
render :ok if ticket.save
end
end
# application_controller.rb
class ApplicationController
before_action :check_help_tickets, if: Proc.new { current_user.admin? }
def check_help_tickets
flash[:notice] = "There are unattended help tickets" if HelpTicket.unanswered.exists?
end
end
希望这会给你一个方向,祝你好运。