Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将webpush添加到模型中?_Javascript_Jquery_Ruby On Rails_Service Worker_Web Push - Fatal编程技术网

Javascript 如何将webpush添加到模型中?

Javascript 如何将webpush添加到模型中?,javascript,jquery,ruby-on-rails,service-worker,web-push,Javascript,Jquery,Ruby On Rails,Service Worker,Web Push,显示在控制器中工作的内容 post "/push" do Webpush.payload_send( message: params[:message], endpoint: params[:subscription][:endpoint], p256dh: params[:subscription][:keys][:p256dh], auth: params[:subscription][:keys][:auth], vapid: { s

显示在控制器中工作的内容

post "/push" do
  Webpush.payload_send(
    message: params[:message],
    endpoint: params[:subscription][:endpoint],
    p256dh: params[:subscription][:keys][:p256dh],
    auth: params[:subscription][:keys][:auth],
    vapid: {
      subject: "mailto:sender@example.com",
      public_key: ENV['VAPID_PUBLIC_KEY'],
      private_key: ENV['VAPID_PRIVATE_KEY']
    }
  )
end
但我正试图重构成一个模型,这样我就可以开始运行rake任务
challenge.send\u web\u push(title:'Here is title',body:'Here is body')

我特别关注如何重构js代码

navigator.serviceWorker.ready
.then((serviceWorkerRegistration) => {
  serviceWorkerRegistration.pushManager.getSubscription()
  .then((subscription) => {
    $.post('/push', {
      subscription: subscription.toJSON(),
    });
  });
});
因此,
订阅
将通过
send\u web\u push
创建

def send_web_push(title: , body: )
  Webpush.payload_send(
    vapid: {
      subject: "mailto:sender@example.com",
      public_key: "BB1BO99HPVefIunkzz8sZSNhlEKuH62olxDKHx9qsEsjtnIF8DdvE8Yp5rxTOSF-VqY2hdjBxeUqulVs9E2XUXjQ=",
      private_key: "SUvPgPr9PU_YAyvHorM0NcaMbSLEoOzqdyLlN2OgRN2Q="
    },
    message: {
      title: title,                 
      body: body,                  
      icon: "assets/default.png" 
    }.to_json
  )
end
你可以看到

使用Firebase享受编码和处理数据库的新方式


那么,当有人为您的模型创建新记录时,您是否试图触发Web推送?