Rails : Return 一个显示用户个人资料完整性的对象
Rails : Return an object to show user's profile completeness
我有一个用户模型,想 return 到控制器并查看用户配置文件的哪些部分完整,哪些部分不完整。
所以它会 return 例如一个对象 "profile_completeness" 可以像这样使用:
@user.profile_completeness.personal_info
如果配置文件的特定部分已填充,则为真。
我尝试了什么:
def profile_completeness
if self.name.present? && self.email.present?
profile_completeness.personal_info = true
end
return profile_completeness
end
我收到错误:
SystemStackError: stack level too deep
我这样做的方式正确吗?如果没有,你认为什么是最好的
您不能调用 set the .personal_info=true 方法本身。在这种情况下,我只会使用 Hashes.
def profile_completeness
ret = Hash.new
if self.name.present? && self.email.present?
ret[:personal_info] = true
end
ret
end
或者更好的是,我更喜欢每个 'completeness' 部分的不同方法:
def personal_info_complete?
....
end
我有一个用户模型,想 return 到控制器并查看用户配置文件的哪些部分完整,哪些部分不完整。
所以它会 return 例如一个对象 "profile_completeness" 可以像这样使用:
@user.profile_completeness.personal_info
如果配置文件的特定部分已填充,则为真。
我尝试了什么:
def profile_completeness
if self.name.present? && self.email.present?
profile_completeness.personal_info = true
end
return profile_completeness
end
我收到错误:
SystemStackError: stack level too deep
我这样做的方式正确吗?如果没有,你认为什么是最好的
您不能调用 set the .personal_info=true 方法本身。在这种情况下,我只会使用 Hashes.
def profile_completeness
ret = Hash.new
if self.name.present? && self.email.present?
ret[:personal_info] = true
end
ret
end
或者更好的是,我更喜欢每个 'completeness' 部分的不同方法:
def personal_info_complete?
....
end