gpt4 book ai didi

ruby-on-rails - rails 如何仅在前端而不是在管理员中使用 friendly_id

转载 作者:数据小太阳 更新时间:2023-10-29 09:02:17 24 4
gpt4 key购买 nike

我只想在前端而不是在管理员中使用 friendly_id 生成的 slug。如何做到这一点?

在我的管理 Controller 中:

def find_data
@product = Product.find(params[:id])
end

在我的前端 Controller 中:

def set_data
@product = current_user.products.friendly.find(params[:id])
end

两个代码仍然返回相同的结果(使用 friendly_id 生成的 slug)

class Product < ActiveRecord::Base

extend FriendlyId

friendly_id :name, use: [:slugged, :finders, :history]

private

def should_generate_new_friendly_id?
new_record? || slug.blank? || name_changed?
end

有人可以帮忙吗?谢谢

更新

我在 AciveAdmin 中找到了执行此操作的方法 here .但是我没有使用 ActiveAdmin

最佳答案

唯一的解决方案是不覆盖 to_param 模型方法,而是创建一个在调用时输出 slug 的并行方法。

然后,在公共(public)端需要它的地方显式调用这个方法。或者你可以做相反的事情,将 to_param 默认为友好的 id,并在生成路由时在管理部分显式传递该 ID。

关于ruby-on-rails - rails 如何仅在前端而不是在管理员中使用 friendly_id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32604593/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com