我正在努力寻找帮助方法的正确位置。该方法基本上'检查'用户模型对象,并且应该返回关于用户'进度'的一些信息,例如。 “您需要添加图片”,“填写您的地址”或“添加您的电子邮件地址”。我所检查的任何条件都不是必需的,它就像是在LinkedIn上看到的“这是您的个人资料完整性”功能性。Rails-way - 这种辅助方法在哪里?
这些“操作”中的每一个都有一个URL,用户可以在其中完成行动,例如。他们可以上传个人资料照片的页面的URL,如果缺少的话。
因为我需要访问我的命名路由帮助程序(例如new_user_image_path)我很难搞清楚Rails构建代码的方式。
我想用这样的DSL返回一个对象:
class UserCompleteness
def initialize(user)
end
def actions
# Returns an array of actions to be completed
end
def percent
# Returns a 'profile completeness' percentage
end
end
而且用户也有类似:@completeness = user_completeness(current_user)
但是,如果我加入这个我application_helper我不无法访问我命名的路由助手。如果我将它添加到我的用户模型,也一样。
我应该在哪里放置这种辅助方法?
您应该可以访问辅助方法中的命名路由(以及任何其他视图助手),但是在您的模型UserCompleteness中无法访问它们。 – Kris 2010-07-12 11:30:13