我在文件中有以下代码js.erb
::
var title = $('#kase_listing_title_show_determinator').attr('data-known-title-display');
$('#kase_list_core').fadeOut('slow');
$('#kase_list_core').html("<%= escape_javascript(render :partial => 'kase_details', :locals => {:kases => @cases, :displayingtitle => "title" }) %> ");
$('#kase_list_core').fadeIn('slow');
我在这里尝试做的是,我正在使用 jquery 从 div 读取 data-* 属性,并且基于该属性的值,我必须在部分中隐藏/显示某些内容。
我想在我的 rails 代码中将此值作为局部变量传递。但是每次加载到parital时,我都会得到:
#<#Class:0x007fed82319bc0>:0x007fed88f5ec40> 错误的未定义局部变量或方法 `displayingtitle'。
我不知道为什么没有设置第二个变量。
也许我只是在这里做一些愚蠢的事情。请帮忙。
部分代码:
如果我删除其中包含此变量的一行 - 一切正常。
<% kases.each do |kase| %>
<!-- This div is used to determine whether to show or hide the known/ unknown title mode -->
<!-- Do Not Delete this div - it is used for the kases with video's and show diagnosis check boxes -->
<div id="kase_listing_title_show_determinator" data-known-title-display="false" data-show-kase-with-video-only="false" ></div>
<div id="kase_listing_display<%= "#{kase.id}" %>" onmouseover="kase_list_display_mouse_over(<%= "#{kase.id}" %>)" onmouseout="kase_list_display_mouse_out(<%= "#{kase.id}" %>)" class="kase_listing_display" >
<% if displayingtitle == 0 %>NO<% else %>YES<% end %>
<div id="kase_listing_known_diagnosis<%= "#{kase.id}" %>" class="mediumtitle gray" style="display:none;">
<%= kase.knowntitle %>
</div>
<br>
<div id="kase_listing_unknown_diagnosis<%= "#{kase.id}" %>" class="mediumtitle gray" >
<%= kase.unknowntitle %>
</div>
<br>
<div class="titles gray">
Author: <%= Author.primaryauthor(kase.id).first.displaystring %>
</div>
<br>
<div class="regularfont gray">
<strong>Presentation:</strong><%= kase.presentation.truncate(100, :separator => ' ', :ommission => "...").html_safe unless kase.presentation.blank? %> <%= link_to "Read More", kase_path(kase.id), :class => "topmenulinks" %>
</div>
<br>
<!-- # <%= image_tag("#{kase.id}/#{kase.kase_images.first.name}", :width => "150") %><br><br> -->
</div>
<% end %>