从模型中获取“路径”信息

时间:2011-01-18 07:35:49

标签: ruby-on-rails ruby-on-rails-3 routing

**更新:我实际上有一个很好的理由。我有一个发送给用户的链接的通知类。所以我需要在那里有URL信息,只是出于与前端相同的路由原因;)

当我在模特中时如何获得“路径”路线?

users_path(xxx)
app.users_path(xxx)

这两个都失败了

2 个答案:

答案 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