私はindex.html.erbでこれを試しましたが、動作しませんでした。Rails 4.2.0:コレクションが空のときにメッセージを表示
<% @balance = 0 %>
$('#kola tbody').empty();
<% @xvaziris.each do |xvaziri| %>
$('#kola tbody').append("<%= j render xvaziri %>");
<% end %>
index.js.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でそれをラップする必要があります。
ご提案は大歓迎です。
ありがとうございます。 「私は個人的に
だから、あなたの最初のソリューションを好む
<%= @xvaziris.present? ? render(@xvaziris) : "No Records" %>
:
<% if @xvaziris.empty? %>
<em>No records</em>
<% else %>
<%= render(@xvaziris) %>
<% end %>
それとも別の、短いが、読みにくく方法:
おかげで私はindex.js.erbファイルに何かをラップする必要がありますか?そのファイルからデータを取得しています。 –
index.js.erbファイルで何をやっていますか? これは決して読み込まれないと思います。 – siegy22
ありがとうございます。私はAjaxの方法を使っているので、そこから部分的にレンダリングしています。 –