Rails - Why is OR not working here? -


i want loop through params , exclude params, used loop:

params.each |key, value|   html += "#{key}: #{value}</br>" if key !='authenticity_token' && key != 'utf8' end 

now, works && when tried replace || :

html += "#{key}: #{value}</br>" if key !='authenticity_token' || key != 'utf8' 

it didn't work. makes more sense work or because loops through each key, value pair , if key a_token or key, should skip it. there can't both on same line. think don't quite understand how rails processes loops here , why && condition works, please explain me? thanks.

key !='authenticity_token' && key != 'utf8' 

this return true when key neither authenticity_token nor utf8

whereas

key !='authenticity_token' || key != 'utf8' 

this return true every key including authenticity_token, utf8 because

for utf8 key key !='authenticity_token' true

abd authenticity_token key key !='utf8' true

if want use || condition use following

!(key =='authenticity_token' || key == 'utf8') 

Comments

Popular posts from this blog

image - ClassNotFoundException when add a prebuilt apk into system.img in android -

I need to import mysql 5.1 to 5.5? -

Java, Hibernate, MySQL - store UTC date-time -