How to get records created at the current month?

后端 未结 4 754
小蘑菇
小蘑菇 2021-02-15 18:12

I have a candidate which has_many votes.

I am trying to get the votes of a candidate that were created in the current month?

@candidate.votes.from_this_m         


        
4条回答
  •  北恋
    北恋 (楼主)
    2021-02-15 18:51

    Correct scope

    scope :from_this_month, lambda {where("votes.created_at > ? AND votes.created_at < ?", Time.now.beginning_of_month, Time.now.end_of_month)}
    

    This is because in rails the model names are singular(i.e Vote) and tables created are pural (e.g. votes) by convection

    EDIT

    This can be written simpler with lambda {where(created_at: Time.now.beginning_of_month..(Time.now.end_of_month))} and we need to use lambda due to the reason given in below comments.

    Thanx BroiSatse for reminding :D

提交回复
热议问题