0
這是一個示例代碼,只是爲了說明問題。檢查一個實例變量是否有一個或多個對象?
當我點擊其中一個按鈕時,我會加載一些實例變量到視圖中並渲染它。我不知道變量是否有一個或多個內部對象。因此,我必須檢查變量是否有內部的一個或多個對象,何時將其加載到視圖中(否則如果內部只有一個對象,則.each方法將失敗)。或者有沒有辦法只將一個對象作爲數組存儲在變量中?
aa.html.erb
<div class="fill"></div>
<%= button_to 'ALL', { :controller => 'animals', :action => 'vaa', :id => "0" } , remote: true %>
<%= button_to 'ELEPHANT', { :controller => 'animals', :action => 'vaa', :id => "1" } , remote: true %>
<%= button_to 'ZEBRA', { :controller => 'animals', :action => 'vaa', :id => "2" } , remote: true %>
<div class="fill3"></div>
<%= render 'animals/vaa' %>
_vaa.html.erb
<div class="fill4">
<% @animals.each do |animal| %>
<table>
<tr>
<td><%= animal.name %></td>
<td><%= animal.race %></td>
<td><%= link_to 'Show', animal %></td>
<td><%= link_to 'Edit', edit_animal_path(animal) %></td>
<td><%= link_to 'Destroy', animal, method: :delete, data: { confirm: 'Are you sure?' } %></td>
</tr>
</table>
<% end %>
</div>
<div class="fill5">
</div>
animals_controller.rb
def vaa
if params[:id] == "0"
@animals = Animal.all
elsif params[:id] == "1"
@animals = Animal.first
elsif params[:id] == "2"
@animals.second
end
respond_to do |format|
format.js
end
end
是的,謝謝:) – allegutta