Meg*_*ind 0 ruby ruby-on-rails ruby-on-rails-3 ruby-on-rails-4
我希望做到以下几点:
var = 'bank_id'
id = '100'
Bank.where(var: id) or
Bank.where("? = ?", var, id)
Run Code Online (Sandbox Code Playgroud)
银行是一种模式.bank_id是模型的一个属性,它将其作为字符串.
哪里接受哈希女巫被映射到正确的SQL WHERE.
Bank.where(var: id)
Run Code Online (Sandbox Code Playgroud)
实际上是
Bank.where({:var => id})
Run Code Online (Sandbox Code Playgroud)
所以你可以构造自己的哈希键:
Bank.where({ var.to_s => id })
Run Code Online (Sandbox Code Playgroud)
或更短:
Bank.where(var => id)
Run Code Online (Sandbox Code Playgroud)
只是为了澄清:差异实际上在于哈希的不同语法.基本上有两个版本.
始终编码有更详细的解释.
| 归档时间: |
|
| 查看次数: |
672 次 |
| 最近记录: |