1. ホーム
  2. ruby-on-rails

[解決済み] ルビーオンレール モデルから明確な値を選択する

2022-02-12 22:20:49

質問

ドキュメントは。 http://guides.rubyonrails.org/active_record_querying.html#selecting-specific-fields

明確に記載すること。

query = Client.select(:name).distinct
# => Returns unique names

しかし、それをコントローラで試すと、次のようなエラーが発生します。

undefined method `distinct' for #<ActiveRecord::Relation:0xb2f6f2cc>

明確には、クライアントの実際のレコードではなく、['George', 'Brandon']のような明確な名前が欲しいのです。何か見逃しているものがありますか?

解決方法は?

その .distinct オプションは rails 4 で追加されたもので、最新のガイドではこれを参照しています。

Rails 2

まだrails 2を使用している場合は、使用する必要があります。

Client.select('distinct(name)')

Rails 3

Rails 3 を使用している場合は、以下を使用する必要があります。

Client.select(:name).uniq

もし、同等の のセクションは、rails 3 ガイドの の2つのバージョンの違いを見ることができます。