Dieser Code wird als Beispiel für die Verwendung mit Devise und OmniAuth bereitgestellt. Er funktioniert in my project.Warum funktioniert Single `=` in `if` Anweisung?
class User < ActiveRecord::Base
def self.new_with_session(params, session)
super.tap do |user|
if data = session["devise.facebook_data"] && session["devise.facebook_data"]["extra"]["raw_info"]
user.email = data["email"] if user.email.blank?
end
end
end
end
Ich weiß nicht, warum es eine einzige equals ist als apposed anmelden, um ein doppeltes Gleichheitszeichen, das dachte ich für if
-Aussagen notwendig war. Meine IDE "intelliJ IDEA" stimmt meinen Bedenken zu.
Danke !! Macht jetzt Sinn, das hast du perfekt erklärt. – thesowismine
Nicht sicher, was Sie mit "notwendiges Ding ... gemeint zu sein, ist ein boolescher Ausdruck." Jedes Objekt kann nach "if" erscheinen. Gibt es ein "nicht-boolesches" Objekt, das Sie im Sinn haben und das eine "if" -Bedingung illegal machen würde? – sawa
@sawa Wenn ich in der Nähe einer Maschine bin, kann ich diesen Teil überarbeiten. – Makoto