替换Ruby on Rails代码

时间:2014-06-15 01:54:53

标签: ruby-on-rails ruby special-characters ampersand

我有一个像这样的excel输入文件。

Artist
A & B
C

这里"艺术家"是列标题。

ruby​​ on rails程序有以下代码:

artist_keys = @params.keys.select{|k| k =~ /^artist/i}
@artists = []
artist_keys.each do |artist_key|
  @artists.push @params[artist_key].to_s.encode('utF-8')
end

我想存储" A%26 B"而不是" A& B"在" artist_key(s)"或"艺术家"变量

我尝试过" A& B"到" A%26 B"在xlsx输入文件中。但是程序遇到了错误。

所以我认为这"替换&与%26"应该通过代码级而不是输入文件级来完成。

我怎么能这样做?

1 个答案:

答案 0 :(得分:0)

正如已经提到的那样,在输出时这样做是最好的"解决方案,但如果你真的想简单地找到并替换,gsub就是你的答案。

artist_keys.each do |artist_key|
  @artists.push @params[artist_key].to_s.gsub('&','%26').encode('utF-8')
end

但是我不建议尽可能存储。