ActiveRecord select except columns

后端 未结 4 794
栀梦
栀梦 2020-12-15 06:54

Is there a way I can specify to select ALL columns in ActiveRecord except just a few. For example, for a User, I don\'t want to select their password hash or their email. Is

4条回答
  •  难免孤独
    2020-12-15 07:31

    Another really usefull way it's with a scope inside the model in case you need to avoid a column constantly.

    In my case I save images into blob fields so I want to avoid those to be loaded everytime and in a easy way:

    scope :select_exclude_image, ->  { select( Movie.attribute_names - ['image'] ) }
    

    Then to avoid the image in the selection you can do something like that:

    Movie.select_exclude_image.first
    

    or

    Movie.select_exclude_image.all
    

    I hope it will help!

提交回复
热议问题