14
ActiveRecordですべての列を選択する方法はいくつかありますが、それ以外の方法はありますか?たとえば、ユーザーの場合、パスワードのハッシュまたは電子メールを選択したくありません。これは可能ですか、手動ですべての列をハードコードする必要がありますか?ActiveRecord以外の列を選択する
ありがとうございました
ActiveRecordですべての列を選択する方法はいくつかありますが、それ以外の方法はありますか?たとえば、ユーザーの場合、パスワードのハッシュまたは電子メールを選択したくありません。これは可能ですか、手動ですべての列をハードコードする必要がありますか?ActiveRecord以外の列を選択する
ありがとうございました
は
def select_without columns
select(column_names - columns.map(&:to_s))
end
のようなスコープを書きます
これはなんですか?
exclude_columns = ['password', 'email']
columns = User.attribute_names.delete_if(|x| exclude_columns.include?(x))
User.select(columns)
私たちはARRAY1を行うことができますことを忘れてしまったEDIT
- ARRAY2
最善の答え:
exclude_columns = ['password', 'email']
columns = User.attribute_names - exclude_columns
User.select(columns)
私は 'def select_without * columns'を実行するので、任意の数の引数を取ることができます – kenn
は良い点です –
このメソッドには問題があります:' COUNT'はここでは機能しません。 'Model.select([:a、:b])。count'はエラーを返します –