gpt4 book ai didi

ruby-on-rails - Rails gem "friendly_id": How to get a live preview of the slug, 在它的对象被创建之前

转载 作者:行者123 更新时间:2023-12-04 06:31:39 25 4
gpt4 key购买 nike

使用 Rails gem“friendly_id”,是否可以获得要创建的 slug 的“实时预览”?在保存对象之前,即(并在使用 ajax 请求键入时返回)?

如果有,怎么做?

最佳答案

FriendyId作者在这里。

FriendlyId 在内部使用私有(private) set_slug 来执行此操作。此方法通过 before_validation 回调调用。如果由于某种原因你不想调用 valid?,你可以通过 send 调用 set_slug 方法,或者在你的模型中定义一个方法调用它:

instance = ModelClass.new
instance.send(:set_slug)

# or
class ModelClass < ActiveRecord::Base
friendly_id :name, use: :slugged

def generate_slug_preview
set_slug
end
end

但是,请注意,绕过或忽略验证通常是一个坏主意。例如,如果您的模型包含对 name 字段的验证,然后您将该字段用作 slug 的基础,那么您正在预览一个实际上永远不会生成的 slug。

关于ruby-on-rails - Rails gem "friendly_id": How to get a live preview of the slug, 在它的对象被创建之前,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20478420/

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