作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想循环遍历参数并排除某些参数,所以我使用了这个循环:
params.each do |key, value|
html += "#{key}: #{value}</br>" if key !='authenticity_token' && key != 'utf8'
end
现在,这适用于 && 但当我尝试用 || 替换它时:
html += "#{key}: #{value}</br>" if key !='authenticity_token' || key != 'utf8'
没成功。它与 OR 一起使用更有意义,因为它循环遍历每个键、值对,如果键是 a_token OR 键,那么它应该跳过它。不能两者都在同一条线上。我想我不太明白 Rails 如何在这里处理循环以及为什么 && 条件起作用,有人可以向我解释一下吗?谢谢。
最佳答案
key !='authenticity_token' && key != 'utf8'
当 key 既不是 authenticity_token
也不是 utf8
时,这将返回 true
而
key !='authenticity_token' || key != 'utf8'
这将为每个 key 返回 true
,包括 authenticity_token
、utf8
因为
对于 utf8
key key !='authenticity_token'
将为 true
authenticity_token
key key !='utf8'
的 abd 将为 true
如果你想使用||条件使用如下
!(key =='authenticity_token' || key == 'utf8')
关于ruby-on-rails - Rails - 为什么 OR 在这里不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18100899/
我是一名优秀的程序员,十分优秀!