Friendly_ID url 模型内部

Friendly_ID url inside a model

我在我的应用程序中使用 Rails 和 React,我想在 as_json 方法中为 Post 模型传递 url。它一直在使用在 SO 上找到的这种方法正常工作,我在其中传递 localeid(或 self.id):

Rails.application.routes.url_helpers.post_path(locale, id)

我现在已经在我的项目中包含 FriendlyID gem,我可以使用生成的 slug 进入我的 post 页面,但是上面的方法仍然 returns 旧的 URL ID。我的问题是 - 我该如何改变它?

PS 我可以做到(下面的代码),但想知道是否有更简单的方法?

...posts_path(locale) + "/#{slug}"

正确的方法(以及 Rails 设计的方法)是

Rails.application.routes.url_helpers.post_path(locale, to_param)

to_param 方法默认 returns :id 作为一个字符串,但被直接使用 slugs 或通过像 friendlyID

这样的 gem 的人覆盖