【问题标题】:how do I blacklist users slugs with friendly id?如何将具有友好 ID 的用户 slug 列入黑名单?
【发布时间】:2015-06-12 09:29:50
【问题描述】:

我想使用友好的 id,以便用户可以拥有一个不错的 url。但是,我想将某些名称(例如 api 或 admin 或诅咒词)列入黑名单。我在哪里加载 yaml 文件来做到这一点?在模型中?

【问题讨论】:

  • 您能展示一下您尝试过的内容吗?
  • 友好的 id 有一个initializer,您可以在其中配置保留字。

标签: ruby-on-rails ruby-on-rails-4 gem friendly-id


【解决方案1】:

试试下面的代码-

class MyModel < ActiveRecord::Base
  extend FriendlyId
  excluded_words = ["admin", "api"]
  friendly_id_config.reserved_words.concat(excluded_words)
  friendly_id :name, use: [:slugged, :finders]
end

【讨论】:

  • 感谢 darpa,如果我想让我的用户可以选择创建一个 slug,我该怎么做呢?目前我已经自动设置了他们的名字
【解决方案2】:
def check_slug_blacklist
  blacklist = YAML.load_file(Rails.root.join('config/blacklist.yml'))
  if blacklist.include?(self.slug)
    self.errors.add :slug, "Please choose to a different slug"  # TO DO USE I18n
  end
end  

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-05-15
    • 2016-11-21
    • 2016-04-16
    • 1970-01-01
    • 1970-01-01
    • 2013-07-19
    • 2021-02-21
    • 1970-01-01
    相关资源
    最近更新 更多