Mã này được cung cấp làm ví dụ để sử dụng với kiến thức và OmniAuth, mã này hoạt động trong my project.Tại sao duy nhất `=` làm việc trong câu lệnh `if`?
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
Tôi không biết lý do tại sao nó là một bình đẳng đơn đăng ký đối lập với sự bình đẳng một đôi ký, mà tôi nghĩ là cần thiết cho if
-statements. IDE "intelliJ IDEA" của tôi đồng ý với những lo ngại của tôi.
Cảm ơn !! Làm cho ý nghĩa bây giờ, bạn giải thích rằng hoàn hảo. – thesowismine
Không chắc chắn ý của bạn là "điều cần thiết ... là hợp lệ là một biểu thức boolean." Bất kỳ đối tượng nào cũng có thể xuất hiện sau 'if'. Có bất kỳ đối tượng "không boolean" mà bạn có trong tâm trí mà sẽ làm cho một điều kiện 'if' bất hợp pháp? – sawa
@sawa Khi tôi ở gần máy tôi có thể sửa lại phần đó. – Makoto