Ruby on rails 如何在客户端事件上重新检查ruby条件
我有一个SoundCloud小部件,它被设置为在播放列表为空时隐藏。当有人向播放列表中添加歌曲时(单击“添加”按钮),是否有重新检查条件的方法Ruby on rails 如何在客户端事件上重新检查ruby条件,ruby-on-rails,ruby,client-side,soundcloud,Ruby On Rails,Ruby,Client Side,Soundcloud,我有一个SoundCloud小部件,它被设置为在播放列表为空时隐藏。当有人向播放列表中添加歌曲时(单击“添加”按钮),是否有重新检查条件的方法 我之所以添加这个ruby条件而不是刷新soundcloud小部件onclick的一部分,是因为我不希望小部件在每次有人添加歌曲时都刷新(只有在播放器被隐藏并且添加了新歌的情况下)。否,一旦服务器将其交给客户端,所有erb内容都会一成不变。但是,您可以编写一个js函数来处理客户端事件 $().ready(函数()){ $(“\u dom\u元素的某些
我之所以添加这个ruby条件而不是刷新soundcloud小部件onclick的一部分,是因为我不希望小部件在每次有人添加歌曲时都刷新(只有在播放器被隐藏并且添加了新歌的情况下)。否,一旦服务器将其交给客户端,所有erb内容都会一成不变。但是,您可以编写一个js函数来处理客户端事件
$().ready(函数()){
$(“\u dom\u元素的某些\u id\u因用户添加而更改”)。更改(函数(){
$(“song_容器”).show()
})
})
这里有几件事:
在不知道您的预期用途的情况下,很难说什么是最适合您的解决方案。关于如何使用js函数的建议,该函数在之前隐藏时只会导致小部件刷新?
<% if @current_user.id == Integer(@party_profile.host) %>
<div <% if @firstsong == "undefined" %> style="display:none;" <% end %>>
<object height="81" width="80%" id="myPlayer" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000">
<iframe id="sc-widget" width="95%" height="166" scrolling="no" frameborder="no" src="https://w.soundcloud.com/player/?url=https://api.soundcloud.com/tracks/<%= @firstsong %>&show_artwork=true&liking=ture&sharing=true&frameborder="no"&scrolling="no"&enable_api=true&object_id=myPlayer"></iframe>
</object>
</div>
<% end %>
$().ready(function() {
$("#some_id_of_a_dom_element_that_changes_due_to_a_user_addition").change(function() {
$("song_container").show()
})
})