在rails控制台中输入
@draft_variables = DraftVariable.where(draft_id: params[:id].to_i)
在输入
时返回所有具有匹配ID的行@draft_variables = DraftVariable.where(:draft_id == params[:id].to_i)
返回具有任何ID的所有行。
这是为什么?我在Rails 4.1,ruby 2.1.0。
答案 0 :(得分:3)
以下声明
@draft_variables = DraftVariable.where(:draft_id == params[:id].to_i)
评估为
@draft_variables = DraftVariable.where(false)
反过来导致查询
SELECT `draft_variables`.* FROM `draft_variables`
所以它返回所有记录