作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
使用 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/
我是一名优秀的程序员,十分优秀!