小编aur*_*bee的帖子

47
推荐指数
3
解决办法
1万
查看次数

如何将字符串与多个其他字符串进行比较

有没有一种方法可以让我在Ruby中比较一个String和多个其他?我真的想做这样的事情:

myString.eql?(["string1","string2","string3"])
Run Code Online (Sandbox Code Playgroud)

ruby

28
推荐指数
3
解决办法
2万
查看次数

如何将字符串插入文本文件

我有一个配置文件,我想添加一个字符串,看起来像这样:

line1
line2
line3
line4
Run Code Online (Sandbox Code Playgroud)

不应附加新字符串,而是将其写入文件中间的某处.因此,我在文件中寻找一个特定的位置(或字符串),当它被找到时,我插入我的新字符串:

file = File.open(path,"r+")
while (!file.eof?)
  line = file.readline
  if (line.downcase.starts_with?("line1"))
    file.write("Some nice little sentence")
  end
end
Run Code Online (Sandbox Code Playgroud)

问题是Ruby使用新文本覆盖该位置的行,因此结果如下:

line1
Some nice little sentence
line3
line4
Run Code Online (Sandbox Code Playgroud)

我想要的是一个"真正的"插入:

line1
Some nice little sentence
line2
line3
line4
Run Code Online (Sandbox Code Playgroud)

怎么能实现这一目标?

ruby ruby-on-rails

11
推荐指数
3
解决办法
1万
查看次数

如何从gem添加I18n语言环境词典到Rails应用程序

我有一个gem,它使用位于我的gems文件夹中的lib/locales/*.yml中的I18n语言环境词典.

初始化gem时,我想将这些词典加载到我的rails应用程序中,但我无法弄清楚如何:

这是我试过的:

I18n.load_path += Dir.glob("lib/locales/*.{rb,yml}")
Run Code Online (Sandbox Code Playgroud)

不幸的是,当我的Rails应用程序中加载gem时,这不起作用.当我打电话给I18n.t("foo")"translation missing: en, foo".

我可能必须在调用I18n.load_path时提供语言环境的完整路径,但我无法弄清楚如何.

任何提示?

ruby-on-rails internationalization

9
推荐指数
1
解决办法
3122
查看次数

如何计算两个字符串共有的字符数?

你如何计算两个字符串之间的字符交集?

例如(假设我们将调用一个方法String.intersection):

"abc".intersection("ab") = 2
"hello".intersection("hallo") = 4
Run Code Online (Sandbox Code Playgroud)

好的,男孩和女孩,感谢您的大量反馈.更多例子:

"aaa".intersection("a") = 1
"foo".intersection("bar") = 0
"abc".intersection("bc") = 2
"abc".intersection("ac") = 2
"abba".intersection("aa") = 2
Run Code Online (Sandbox Code Playgroud)

更多注释:维基百科定义交集如下:

集合A和B的交点,表示为A∩B,是一组是A和B的两个相交的成员的所有对象的{1,2,3}和{2,3,4}是集合{ 2,3}

ruby

5
推荐指数
3
解决办法
2713
查看次数

CSS重构最佳实践

我们正在使用Rails开发一个大型Web应用程序很长一段时间,并为我们的模板生成了大量的CSS.样式表定义按照随项目增长的一堆css文件进行组织.由于人们并不总是像他们应该的那样有纪律,在我看来很多定义已经被弃用和无用.

是否有(半)自动方式摆脱这些东西?你如何识别项目中无用的CSS?

css ruby-on-rails

3
推荐指数
1
解决办法
361
查看次数

FactoryGirl和协会

我有两个班和两个工厂:

class User
 belongs_to :company
end

class Company
 has_many :users
end

Factory.define :user do |u|
 u.name "Max"
 u.association :company
end

Factory.define :user2, :parent => :user do |u|
 u.name "Peter"
end

Factory.define :company do |c|
 c.name "Acme Corporation"
end
Run Code Online (Sandbox Code Playgroud)

如何让两个用户都在同一家公司?在运行测试时,FactoryGirl会创建两个公司记录,但我希望两个用户都连接到一个记录.

任何提示?

ruby ruby-on-rails factory-bot

1
推荐指数
1
解决办法
336
查看次数

如何让这美丽和短暂

filename = filename.gsub("_"," ").nil? ? filename.gsub("_"," ") : filename
Run Code Online (Sandbox Code Playgroud)

ruby

0
推荐指数
1
解决办法
140
查看次数