ruby on rails-make充当可标记的gem,区分大小写



我使用的是标签gablegem,它强制一些大写字母的标签都是小写的。例如,当我尝试添加"计算机科学"时,它会添加"计算机学科",服务器日志显示:

  ActsAsTaggableOn::Tag Load (0.6ms)  SELECT "tags".* FROM "tags" INNER JOIN "taggings" ON "tags"."id" = "taggings"."tag_id" WHERE "taggings"."taggable_id" = $1 AND "taggings"."taggable_type" = $2 AND (taggings.context = 'tags' AND taggings.tagger_id IS NULL)  [["taggable_id", 12], ["taggable_type", "Project"]]
   => ["computer science", "Computer Science"]

我不想要这个。actsastagable github页面上说添加这个:

ActsAsTaggableOn.strict_case_match = true

我已经将这一行添加到application.rb文件中,但它仍然不起作用。如何使actsastagable区分大小写?

我已经测试过了,它对我有效。请确保你的应用程序.rb中没有写以下内容:

ActsAsTaggableOn.force_lowercase = true

如果这还不能解决问题,请添加更多信息。

话虽如此,您可能需要考虑将标签保持小写,原因有二:

1.)干净的URL——你想在URL中避免使用大写字母。它们不区分大小写,但很漂亮。如果允许除您以外的其他人进行标记,他们可能会想出诸如"hEll0PeEpS"之类的字符串,而您不希望在干净的URL中这样做,对吧?

2.)控制你的设计。这与我提出的第一点有关——如果有人随机使用大写/小写的花哨标签,无论你在哪里列出标签,它都会这样写。

将它们保存为小写,并使用大写

然而,如果您的要求不同,并且需要自由选择大写和小写字母,那么忽略我的额外想法:)

相关内容

  • 没有找到相关文章

最新更新