オブジェクトの学生のコレクションがあります。すべての学生のIDのみを取得したい。Student モデルは Datamapper で実装されています。Ruby on Rails と Datamapper は初めてです。コレクションの生徒のすべての生徒の ID を取得する方法はありますか。したがって、基本的には次のことが必要です。
students = Student.all
ids = students.get_ids
get_ids の実装方法がわかりません。
オブジェクトの学生のコレクションがあります。すべての学生のIDのみを取得したい。Student モデルは Datamapper で実装されています。Ruby on Rails と Datamapper は初めてです。コレクションの生徒のすべての生徒の ID を取得する方法はありますか。したがって、基本的には次のことが必要です。
students = Student.all
ids = students.get_ids
get_ids の実装方法がわかりません。
変数「students」は配列です。get_ids を適用しないでください。関数はパラメーターを取得しないでください。
def get_ids
Student.all.map { |student| student.id }
end
アクティブなレコード関係を取得したいだけなら、これを試してください:
Student.select(:id)
これにより、各オブジェクトのすべてのオブジェクトと ID を含む ActiveRecord 関係が返されます。
必要なものが ActiveRecord リレーションではなく ID だけである場合は、単純な「pluck」メソッドを使用します
Student.pluck(:id)