Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 查找条件查询_Ruby On Rails_Ruby - Fatal编程技术网

Ruby on rails 查找条件查询

Ruby on rails 查找条件查询,ruby-on-rails,ruby,Ruby On Rails,Ruby,我有一个过渡期。我想说的是,如果最后一次转换(model:DistributionSheet,attribute:state)是关闭的,则显示这些结果。所以我需要这个: 当: [“state=?,“closed”])。最后%> 然后: 差不多吧。谁能给我指路吗。 谢谢 阿里为什么不把它当作一个假设呢 <%- if (DistributionSheet.where(:state => 'closed').last) -%> <% Result.all.each d

我有一个过渡期。我想说的是,如果最后一次转换(model:DistributionSheet,attribute:state)是关闭的,则显示这些结果。所以我需要这个:

当:

[“state=?,“closed”])。最后%>
然后:


差不多吧。谁能给我指路吗。 谢谢
阿里

为什么不把它当作一个假设呢

<%- if (DistributionSheet.where(:state => 'closed').last) -%>
  <% Result.all.each do |result| %>
    <%= result.name %>
  <% end %>
<%- end -%>
“closed”)。最后)->
更新:问题的替代解释:

<%- if (DistributionSheet.last.state == 'closed') -%>
  <% Result.all.each do |result| %>
    <%= result.name %>
  <% end %>
<%- end -%>

在你看来,你不应该做这些事情,但那是另一回事:-)

这就是你的意思吗

<% if DistributionSheet.find(:last).state == "closed" %>
  <% Result.find(:all).each do |result| %> <%= result.name %> <% end %>
<% end %>


同意这不应该出现在视图中。谢谢Ant。那你建议我在哪里做?其目的是在关闭传输时显示所有用户结果(model:Result)。为了简单起见,您还可以执行
DistributionSheet.last.state
。只需避免在视图中执行查询,例如,您可以移动DistributionSheet.find(:last).state==“closed”然后,您可以从控制器调用它,然后将变量传递给视图,或者在必要时呈现不同的视图。请再次提供帮助。很抱歉如果我在一个名为样本的模型中有一个名为“sheet_id”和“sample_id”的字段,我需要说取最后一个“sheet_id”并打印该“sheet_id”的“sample_id”,它会是这样的:
<%- if (DistributionSheet.last.state == 'closed') -%>
  <% Result.all.each do |result| %>
    <%= result.name %>
  <% end %>
<%- end -%>
<% if DistributionSheet.find(:last).state == "closed" %>
  <% Result.find(:all).each do |result| %> <%= result.name %> <% end %>
<% end %>