ActiveRecord查询,其中id为的将丢弃破折号后的内容
我刚刚在ActiveRecord查询,其中id为的将丢弃破折号后的内容,activerecord,ruby-on-rails-5,ruby-on-rails-6,Activerecord,Ruby On Rails 5,Ruby On Rails 6,我刚刚在where方法中遇到了一些相当令人惊讶的事情。当我查询类似于MyModel.where(id:'121 false')的内容时,它会在SQL中转换为id=121,即ActiveRecord似乎会删除破折号后面的内容。这似乎只有在我使用id进行查询时才会发生。有人能帮我指出这是在哪里实现的吗?谢谢。id字段可能是整数类型,因此ActiveRecord基本上通过调用以下命令将参数强制转换为整数: '121-fake'.to_i # -> 121
where
方法中遇到了一些相当令人惊讶的事情。当我查询类似于MyModel.where(id:'121 false')
的内容时,它会在SQL中转换为id=121
,即ActiveRecord似乎会删除破折号后面的内容。这似乎只有在我使用id
进行查询时才会发生。有人能帮我指出这是在哪里实现的吗?谢谢。id字段可能是整数类型,因此ActiveRecord
基本上通过调用以下命令将参数强制转换为整数:
'121-fake'.to_i # -> 121