3

私が持っている場合...

class Bunny < ActiveRecord::Base
  has_many :carrots
end

...@bunnyニンジンがあるかどうかをビューで確認するにはどうすればよいですか? 私はこのようなことをしたい:

<% if @bunny.carrots? %>
  <strong>Yay! Carrots!</strong>
  <% for carrot in @bunny.carrots %>
    You got a <%=h carrot.color %> carrot!<br />
  <% end %>
<% end %>

@bunny.carrots?うまくいかないことはわかっています。

4

4 に答える 4

8
<% if @bunny.carrots.any? %>
  <strong>Yay! Carrots!</strong>
  <% for carrot in @bunny.carrots %>
    You got a <%=h carrot.color %> carrot!<br />
  <% end %>
<% end %>
于 2008-11-18T00:16:30.647 に答える
3
unless @bunny.carrots.empty? 

同様に機能します

于 2008-11-18T00:26:58.753 に答える
1

また:

  if @bunny.carrots.length>0

また

unless @bunny.carrots.nil? || @bunny.carrots.length>0

また

  if @bunny.carrots.any?

ちなみに、irb または script/console を require 'irb/completion' で使用すると、コレクションでより多くの操作を見つけることができます。

于 2008-11-18T00:14:32.133 に答える
0

@bunny.carrotsは配列であるため、配列メソッドを呼び出すことで配列として扱うことができます。unless @bunny.carrots.empty?

于 2008-11-20T23:44:44.017 に答える