我在我的应用中使用Rails和React,我想在Post
方法中传递as_json
模型的网址。它已经在SO上找到了这个方法,我通过了locale
和id
(或self.id
):
Rails.application.routes.url_helpers.post_path(locale, id)
我现在已经在项目中包含了FriendlyID
gem,我可以使用生成的slug
转到我的帖子页面,但上面的方法仍会返回带有ID的旧URL。我的问题是 - 我怎么能改变它?
PS我可以做到(下面的代码),但想知道是否有更简单的方法?
...posts_path(locale) + "/#{slug}"
答案 0 :(得分:4)
正确的方式(以及zip
的设计方式)是
Rails
默认情况下,Rails.application.routes.url_helpers.post_path(locale, to_param)
方法会将to_param
作为字符串返回,但会被直接使用slug或通过gemID等宝石的人覆盖