2
有没有办法重写rails路线帮助器方法,以便他们处理模型实例的方式不同?我刚完成创建User
模型,该模型不从ActiveRecord::Base
继承,而是使用我编写的方法从LDAP数据库检索用户。但是,现在所有的路线帮助方法都搞砸了。 (例如,user_path(user)
给人/users/#<User:0x3df82a0>
,而不是/users/002131
)我如何重写rails路由帮助器方法?
我试图重写用下面的代码(放在User
模型的内部)的方法,但它似乎并没有被做任何事情。有任何想法吗?
class << Rails.application.routes.url_helpers
def user_path(user)
if user.class == User
users_path + "/#{user.id}"
else
users_path + "/#{user}"
end
end
end
完美!我希望可能有办法做这样的事情。谢谢你的帮助。 – Ajedi32 2012-07-20 19:18:16
你会碰巧知道是否有办法做一些类似的link_to辅助方法?这些似乎不受to_param影响。当然,我可以将它们设置为指向'user_path(user)'而不是'user',但如果有一个简单的方法来使link_to正常工作,那将会很好。 – Ajedi32 2012-07-20 19:40:12