1

Rails アプリ ビューでは、次のように動作します。

<%= bc.items.uniq.collect{|g| g.display_name}.join(", ") %>

ただし、23 までの数字を含む ID を持つアイテムのみを収集しようとしています。構文が正しくないようです。以下はエラーになります。

<%= bc.items.uniq.collect{|g| g.display_name(false)}.join(", ").reject{g.id > 23} %>

エラー メッセージ:

undefined method `reject'

「断る」は使えますか?

4

1 に答える 1

3
  1. オブジェクトの配列を操作する必要があるため、あなたの前.rejectに置く必要があり、私が推測できるものから文字列の配列を返し、それを文字列にします。.collect.join.collect.join
  2. gブロックへの引数を作成する必要があります。

これは機能するはずです。

<%= bc.items.uniq.reject{|g| g.id > 23}.collect{|g| g.display_name(false)}.join(", ") %>
于 2013-06-06T19:58:50.923 に答える