所以我有這樣的循環在軌顯示在第一個結果每個循環
<% @gresults.each do |gr| %>
我將如何去獲取只是這第一個響應的那一刻?
我只是試圖在其他地方使用,有一個選項,它將是唯一的那裏。
感謝
所以我有這樣的循環在軌顯示在第一個結果每個循環
<% @gresults.each do |gr| %>
我將如何去獲取只是這第一個響應的那一刻?
我只是試圖在其他地方使用,有一個選項,它將是唯一的那裏。
感謝
使用此代碼:
<%= @gresults.first %>
通過@gresults.first
object.If要獲取列的值,那麼你可以這樣做@gresults.first.Column_name
你可以得到一個積極的記錄。例如@gresults.first.id
<%= @gresults.first %>
(該=
需要看到它在ERB)
比方說,你在你的代碼下面的循環:
<% @gresults.each do |gr| %>
<h1><%= gr.name %></h1>
<p><%= gr.description %></p>
<% end %>
...或任何類似的地方你正在對每個「gresult」執行一系列操作。下面的代碼將完全按照你的要求來做:
<h1><%= @gresults.first.name %></h1>
<p><%= @gresults.first.description %></p>
然而,這引出了一個問題;你在做什麼與@gresults
陣列中的其他gresults?如果不是,那麼你不應該收集整個結果。試想一下,你的控制器現在看起來是這樣的:
def index
@gresults = GResult.all
end
如果改爲改成了這個代碼,你將不會被浪費傳遞各地的gresults的資源,而會只需要處理第(一你想顯示):
def index
@gresult = GResult.first
end
那麼你的看法是這樣的:
<h1><%= @gresult.name %></h1>
<p><%= @gresult.description %></p>
如果要求顯示結果只有一個,那你爲什麼不找只有一個結果並顯示它?例如'@ gresults.first' –