1

这是一个愚蠢的问题,但是否可以发送一个

flash[:success] 

定向到屏幕上当前用户以外的某个用户?在我的一个控制器中,我有

if @article.up_votes.count > 10
    flash[:success ] = 'something'
end

是否可以将该闪光灯发送给文章的所有者?而不是我自己的屏幕?还是有其他方法可以做到这一点?

我试着看

http://api.rubyonrails.org/classes/ActionDispatch/Flash/FlashHash.html#method-i-notice

但找不到任何有用的方法。也许我读错了?那么有没有办法达到同样的效果呢?

谢谢你...

4

3 回答 3

0

正如 ismaelga 提到的,我也认为推送通知是要走的路(WebSockets)。

除了 Faye,您还可以使用名为 Pusher (pusher.com) 的托管解决方案。

这是关于 Pusher 如何帮助您的简短描述。基本上所有使用您的应用程序的用户都会在 WebSocket 服务器上监听消息(通过 JavaScript)。在这种情况下,推杆。然后,您可以通过 Rails 应用程序向 Pusher 发送消息。当您向 Pusher 发送消息时,所有用户都会立即通过 JavaScript(通过 WebSocket)收到有关新消息的通知。要仅通知特定用户,您可以使用 Pusher 的“私人频道”功能。

Pusher 有一些关于如何使用他们的服务的非常好的文档:http: //pusher.com/docs/javascript_quick_start

这张图片(取自 Nettuts+)也可能让您更好地了解 Pusher 的工作原理:http ://d2o0t5hpnwv4c1.cloudfront.net/1059_pusher/pusher_websocket.png

希望这个对你有帮助。

于 2012-05-14T23:33:48.780 回答
0

不使用闪存,您必须尝试其他方法,有很多方法可以解决,但闪存不是其中之一。好吧,您仍然可以使用 flash,但它不会从一个用户发送到另一个用户,您可能会导致出现一个 flash 消息以通知用户。

首先要弄清楚的是如何通知其他用户,他什么时候会收到通知,您是否希望他在使用您的网站时收到通知?或者只有当他在您的网站上做了特定的事情时?

于 2012-05-14T19:52:48.380 回答
0

据我所知,最好的方法可能是推送通知。有很多方法可以实现这一点,但我认为 faye 应该是最简单的。

请参阅此截屏视频以了解它以及以后的内容。您希望为每个用户都有一个频道,以便它成为接收该消息的频道。进一步搜索私人酒吧,这样没有人可以收听其他频道

http://railscasts.com/episodes/260-messaging-with-faye

http://railscasts.com/episodes/316-private-pub

于 2012-05-14T21:07:01.003 回答