我在create.js.erb文件中有这个:
if ($(".none").length){
$(".none").replaceWith('<ul class="shown_users_list"><li id="<%= dom_id(@showable_video) %>"><%= link_to image_tag(@showable_video.profile.photo.url(:thumbnail)), profile_path(@showable_video.profile), :class => "feed_image"%><%= link_to "#{@showable_video.profile.user.name}", profile_path(@showable_video.profile), :class => "normal squeeze" %><%= link_to image_tag("/images/facebox/closelabel.gif"), showable_video_path(@showable_video), :method => :delete, :remote => true, :class => "showable_video_delete" %></li></ul>');
}
else{
$("ul.shown_users_list").append('<li id="<%= dom_id(@showable_video) %>"><%= link_to image_tag(@showable_video.profile.photo.url(:thumbnail)), profile_path(@showable_video.profile), :class => "feed_image"%><%= link_to "#{@showable_video.profile.user.name}", profile_path(@showable_video.profile), :class => "normal squeeze" %><%= link_to image_tag("/images/facebox/closelabel.gif"), showable_video_path(@showable_video), :method => :delete, :remote => true, :class => "showable_video_delete" %></li>');
}
问题是在我的控制器中,我有一些条件,如果为true,则阻止创建@showable_video
对象。即使发生这种情况,仍会呈现create.js.erb文件,因此会出现错误,因为@showable_video
为零。
我认为解决这个问题的方法可能是检查create.js.erb文件中@showable_video
是否为nil,如果是,则不运行其余的jquery代码。我怎么能做到这一点?
答案 0 :(得分:0)
<% if @showable_video %>
... your code here
<% end %>