我正在努力尋找幫助方法的正確位置。該方法基本上'檢查'用戶模型對象,並且應該返回關於用戶'進度'的一些信息,例如。 「您需要添加圖片」,「填寫您的地址」或「添加您的電子郵件地址」。我所檢查的任何條件都不是必需的,它就像是在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