2011-07-10 40 views

Trả lời

6

Tôi chưa thử với ActiveRecord, nhưng tính năng này có hoạt động không?

class User < ActiveRecord::Base 
    # stuff and stuff ... 

    def fullname 
    super || email 
    end 
end 

Phụ thuộc vào cách ActiveRecord trộn lẫn trong các phương pháp đó.

3

Để làm những gì bạn muốn, bạn có thể khá dễ dàng ghi đè lên người đọc mặc định cho fullname và làm điều gì đó như thế này:

class User < ActiveRecord::Base 
    def fullname 
    # Because a blank string (ie, '') evaluates to true, we need 
    # to check if the value is blank, rather than relying on a 
    # nil/false value. If you only want to check for pure nil, 
    # the following line wil also work: 
    # 
    # self[:fullname] || email 
    self[:fullname].blank? ? email : self[:fullname] 
    end 
end 
Các vấn đề liên quan