所以我有这样的循环在轨显示在第一个结果每个循环
<% @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' –