我使用的是标签山墙gem,它正在强制带有大写字母的标签。例如,当我尝试添加'计算机科学'时,它会增加“计算机科学”,而是服务器日志显示:

  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"]
.

我不想要这个。ActSastagrable GitHub Page表示要添加以下内容:

ActsAsTaggableOn.strict_case_match = true
.

我已将该行添加到application.rb文件,但它仍然无法正常工作。如何使actcsastagable敏感的案例敏感?

有帮助吗?

解决方案

我已经测试了这个,它适合我。确保在Application.rb中没有写入以下内容:

ActsAsTaggableOn.force_lowercase = true
.

如果不解决它添加更多信息。

已经说过,您可能希望考虑保留标签小写的两个原因:

1.)清洁URL - 您希望避免URL中的大写字母。它们不区分大小写,但它只是漂亮。如果允许以外的人被允许标记,他们可以提出诸如“Hell0Peeps”的字符串,并且您不希望在清洁的URL中,对吧?

2。)控制您的设计。这与我所做的第一个点涉及 - 如果有人使用大型/小写随机使用大型/小写,那么它将在您列出标记的任何地方写作。

将它们另存为小写并使用.capitalize

但是,如果您的要求不同,需要自由选择大写和小写字母,请忽略我的其他想法:)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top