**更新:我实际上有一个很好的理由。我有一个发送给用户的链接的通知类。所以我需要在那里有URL信息,只是出于与前端相同的路由原因;)
当我在模特中时如何获得“路径”路线?
users_path(xxx)
app.users_path(xxx)
这两个都失败了
答案 0 :(得分:3)
这是一个坏主意,你不应该在模型中需要路由信息。
如果你这样做,肯定有问题,尝试使用帮助器而不是模型中的东西。
或者您可以提供有关问题的更多详细信息,我们可以提供明确的答案。
更新 - 假设您要向用户发送电子邮件,您可以直接在邮件程序视图中使用网址助手(而不是在模型中)。请记住使用 user_url(xxx)而不是 user_path(xxx)。为此,您可能还必须设置action_mailer.default_url_options [:host]。
答案 1 :(得分:2)
虽然我确实同意,在大多数情况下,应该避免这种情况,并且通常有更好的方法来做到这一点,但是很明显地说,永远不需要。事实上,在许多情况下我会说这是完全可以接受的(例如,生成需要链接到网站上对象页面的csv报告)。
无论如何,Rails使这很容易做到。只要确保你已经考虑过先做是否合适!只需在您的班级中包含Rails url助手......
include Rails.application.routes.url_helpers