CableReady 通道的 insert_adjacent_html 相反?
The opposite of insert_adjacent_html for CableReady channel?
问题已得到解答 -- 请参阅下面的 post
我有一个 CableReady 频道 'Current',它动态显示 'Posts' 的提要。我可以让 post 单独显示,但我不知道如何从频道中单独删除它们。
此 Posts 到通道的输入在 PostsController.rb 中控制,如下所示:
def postshow
@post = Post.find(params[:id])
cable_ready["current"].insert_adjacent_html(
selector: "#current#{@video.id}",
position: "afterbegin",
html: render_to_string(partial: "posts/post", locals: {post: @post})
)
cable_ready.broadcast
end
我试过 remove
方法,例如cable_ready["current"].remove(...
但这只会一次性删除频道中的所有 Posts
我打算在 PostsController.rb 中使用另一种方法来执行删除:
def postremove
@post = Post.find(params[:id]
...[code to remove the post here]
end
我不想完全从 DOM 中删除 Post,因为提要是动态的,我希望它们能够在某个时候再次显示在提要中。
已编辑:对通缉行为的进一步解释
将 feed 想象成 Twitter,新的 post 出现在顶部。但是这些 post 只会出现一定的秒数。您还可以将提要倒回某个点。因此,如果您倒回时间,从提要中删除的 post 可以再次出现在顶部。
如有任何其他策略的想法或建议,我们将不胜感激,谢谢
既然您不想从 DOM 中删除 post,那么也许一种解决方案是简单地隐藏 post。您可以使用下面的方法来设置一个CSS 属性。
或者,如果您使用 CSS 框架,您可以通过以下方式添加 class:
感谢 Roland Studer 的回答:
问题是由于部分没有正确的标识符。部分的 outer-most div 现在看起来像这样:
<div id="<%= dom_id(post)%>" ... >
删除 Post 的控制器方法现在如下所示:
def postremove
@post = Post.find(params[:id])
cable_ready["current"].remove(
selector: "[data-id=\"#{@post.id}\"]"
)
cable_ready.broadcast
end
神奇! :)
问题已得到解答 -- 请参阅下面的 post
我有一个 CableReady 频道 'Current',它动态显示 'Posts' 的提要。我可以让 post 单独显示,但我不知道如何从频道中单独删除它们。
此 Posts 到通道的输入在 PostsController.rb 中控制,如下所示:
def postshow
@post = Post.find(params[:id])
cable_ready["current"].insert_adjacent_html(
selector: "#current#{@video.id}",
position: "afterbegin",
html: render_to_string(partial: "posts/post", locals: {post: @post})
)
cable_ready.broadcast
end
我试过 remove
方法,例如cable_ready["current"].remove(...
但这只会一次性删除频道中的所有 Posts
我打算在 PostsController.rb 中使用另一种方法来执行删除:
def postremove
@post = Post.find(params[:id]
...[code to remove the post here]
end
我不想完全从 DOM 中删除 Post,因为提要是动态的,我希望它们能够在某个时候再次显示在提要中。
已编辑:对通缉行为的进一步解释
将 feed 想象成 Twitter,新的 post 出现在顶部。但是这些 post 只会出现一定的秒数。您还可以将提要倒回某个点。因此,如果您倒回时间,从提要中删除的 post 可以再次出现在顶部。
如有任何其他策略的想法或建议,我们将不胜感激,谢谢
既然您不想从 DOM 中删除 post,那么也许一种解决方案是简单地隐藏 post。您可以使用下面的方法来设置一个CSS 属性。
感谢 Roland Studer 的回答:
问题是由于部分没有正确的标识符。部分的 outer-most div 现在看起来像这样:
<div id="<%= dom_id(post)%>" ... >
删除 Post 的控制器方法现在如下所示:
def postremove
@post = Post.find(params[:id])
cable_ready["current"].remove(
selector: "[data-id=\"#{@post.id}\"]"
)
cable_ready.broadcast
end
神奇! :)