Javascript Rails 4.2.0:当集合为空时显示消息

Javascript Rails 4.2.0:当集合为空时显示消息,javascript,ruby-on-rails,Javascript,Ruby On Rails,我在index.html.erb中尝试过这个,但没有成功 <%= render(@xvaziris) || 'No records' %> index.html.erb <div class="row"> <div class="col-md-10 col-md-offset-1"> <div class="table-responsive myTable"> <table id

我在index.html.erb中尝试过这个,但没有成功

<%= render(@xvaziris) ||  'No records' %>

index.html.erb

<div class="row">

    <div class="col-md-10 col-md-offset-1">

        <div class="table-responsive myTable">

            <table id = "kola" class="table listing text-center">
                <thead>
                    <tr class="tr-head">
                        <td>Date</td>
                        <td>Description</td>
                        <td>Amount</td>
                        <td>Discount</td>
                        <td>Paid</td>
                        <td>Balance</td>
                    </tr>
                </thead>

                <a href="#" class="toggle-formed" style="float: right;" ><strong>Search</strong></a>

                <div id="sample">

                    <%= form_tag xvaziris_path, remote: true, method: :get, class: "form-group", role: "search" do %>
                    <p>
                        <center><%= text_field_tag :search, params[:search], placeholder: "Search for.....", autofocus: true, class: "form-control-search" %>
                            <%= submit_tag "Search", name: nil, class: "btn btn-md btn-primary" %></center>
                        </p>
                        <% end %><br>
                    </div>


                    <tbody>              
                        <%= render(@xvaziris) ||  'No records' %>
                    </tbody>
                </table>
            </div>
        </div>
    </div>

日期
描述
数量
优惠
支付
平衡


index.js.erb

<% @balance = 0 %> 
$('#kola tbody').empty(); 
<% @xvaziris.each do |xvaziri| %> 
$('#kola tbody').append("<%= j render xvaziri %>"); 
<% end %>
<% @balance = 0 %>
$('#kola tbody').empty();

<% if @xvaziris.empty? %>
$('#kola tr').remove();
$('#kola tbody').append("No Results Found For Your Search...");
$("#kola tbody").css({"background-color": "white", "font-size": "100%", "font-weight": "900"}); 
<% else %>
<% @xvaziris.each do |xvaziri| %>
$('#kola tbody').append("<%= j render xvaziri %>");
<% end %>
<% end %>

$('kola tbody').empty();
$(“#kola tbody”)。追加(“”);
我是否需要将其包装在index.js.erb中的某个位置才能正常工作

欢迎提出任何建议


提前谢谢你。

我想你可能想要这样的东西:

<% if @xvaziris.empty? %>
  <em>No records</em>
<% else %>
  <%= render(@xvaziris) %>
<% end %>
现在,if/else方法:

value = nil
result = if value
           value
         else
           1
         end
result # => will return 1
现在就你而言:

value = render(...) # => "" (empty string)
value || "something else" # => "" (empty string)
这是因为空字符串不会返回false

要检查值是否为真,可以使用双重协商(
!!
运算符),这只是将对象强制转换为布尔值的一种方法

empty_string = ""
!!empty_string # => true

!!nil # => false

我想你可能想要这样的东西:

<% if @xvaziris.empty? %>
  <em>No records</em>
<% else %>
  <%= render(@xvaziris) %>
<% end %>
现在,if/else方法:

value = nil
result = if value
           value
         else
           1
         end
result # => will return 1
现在就你而言:

value = render(...) # => "" (empty string)
value || "something else" # => "" (empty string)
这是因为空字符串不会返回false

要检查值是否为真,可以使用双重协商(
!!
运算符),这只是将对象强制转换为布尔值的一种方法

empty_string = ""
!!empty_string # => true

!!nil # => false

在我用if-else条件以以下方式更改index.js.erb之后,我让它工作了

index.js.erb

<% @balance = 0 %> 
$('#kola tbody').empty(); 
<% @xvaziris.each do |xvaziri| %> 
$('#kola tbody').append("<%= j render xvaziri %>"); 
<% end %>
<% @balance = 0 %>
$('#kola tbody').empty();

<% if @xvaziris.empty? %>
$('#kola tr').remove();
$('#kola tbody').append("No Results Found For Your Search...");
$("#kola tbody").css({"background-color": "white", "font-size": "100%", "font-weight": "900"}); 
<% else %>
<% @xvaziris.each do |xvaziri| %>
$('#kola tbody').append("<%= j render xvaziri %>");
<% end %>
<% end %>

$('kola tbody').empty();
$('kola tr')。删除();
$(“#kola tbody”).append(“未找到搜索结果…”);
$(“#kola tbody”).css({“背景色”:“白色”,“字体大小”:“100%”,“字体重量”:“900”);
$(“#kola tbody”)。追加(“”);

在我以以下方式使用if-else条件更改index.js.erb后,我使其工作正常

index.js.erb

<% @balance = 0 %> 
$('#kola tbody').empty(); 
<% @xvaziris.each do |xvaziri| %> 
$('#kola tbody').append("<%= j render xvaziri %>"); 
<% end %>
<% @balance = 0 %>
$('#kola tbody').empty();

<% if @xvaziris.empty? %>
$('#kola tr').remove();
$('#kola tbody').append("No Results Found For Your Search...");
$("#kola tbody").css({"background-color": "white", "font-size": "100%", "font-weight": "900"}); 
<% else %>
<% @xvaziris.each do |xvaziri| %>
$('#kola tbody').append("<%= j render xvaziri %>");
<% end %>
<% end %>

$('kola tbody').empty();
$('kola tr')。删除();
$(“#kola tbody”).append(“未找到搜索结果…”);
$(“#kola tbody”).css({“背景色”:“白色”,“字体大小”:“100%”,“字体重量”:“900”);
$(“#kola tbody”)。追加(“”);

谢谢你的回复。我需要在index.js.erb文件中包装任何东西吗?当我从那个文件中检索数据时,你在用index.js.erb文件做什么?我想这是从来没有加载过的。谢谢。但我正在从那里渲染部分,因为我使用的是Ajax方式。请澄清一点:“如果你然后在If(在你的| |)中使用它”。@MuhammadYaseen你能解释一下,你的index.js.erb是在哪里加载的吗?关于你的第二个问题:我编辑了答案。谢谢你的回答。我需要在index.js.erb文件中包装任何东西吗?当我从那个文件中检索数据时,你在用index.js.erb文件做什么?我想这是从来没有加载过的。谢谢。但我正在从那里渲染部分,因为我使用的是Ajax方式。请澄清一点:“如果你然后在If(在你的| |)中使用它”。@MuhammadYaseen你能解释一下,你的index.js.erb是在哪里加载的吗?关于你的第二个问题:我编辑了答案。