ruby-on-rails - 如何用 ruby 安全地用下划线替换所有空格?

标签 ruby-on-rails ruby ruby-on-rails-3

这适用于任何包含空格的字符串

str.downcase.tr!(" ", "_")

但是没有空格的字符串会被删除

所以“New School”会变成“new_school”,但“color”会变成“”,没什么!

最佳答案

将“_”作为参数传递给 parameterize(separator: '-') .对于 Rails 4 及以下版本,使用 str.parameterize('_')

例子:

with space

str = "New School"
str.parameterize(separator: '_')

=> "new_school"

without space

str = "school"
str.parameterize(separator: '_')

=> "school"

您也可以通过链接 underscore 来解决这个问题参数化。

例子:

with space

str = "New School"
str.parameterize.underscore

=> "new_school"

without space

str = "school"
str.parameterize.underscore

=> "school"

关于ruby-on-rails - 如何用 ruby 安全地用下划线替换所有空格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7547065/

相关文章:

javascript - $.ajax() 调用不起作用

ruby-on-rails - 使用RAW Json进行轮胎多重搜索

ruby-on-rails - 在 find_by_sql 中使用变量

sql - Ruby on Rails 迁移中的 unsigned int 字段?

ruby-on-rails - 随机 0 被插入到 Rails 中的编码数组查询参数中

ruby - 仅当所有元数据过滤器都与 RSpec 一起应用时才应用共享上下文

ruby-on-rails - 使用基类与基模块重构 ActiveRecord 模型

ruby - 为什么在事件记录范围内使用 lambda

ruby-on-rails - 在开发中尝试exception_notification时使用ActionMailer::Base::NullMail

ruby-on-rails - 如何使用 Ruby on Rails 查找今天、昨天等的记录?