как заменить подчеркивание строки в хамле - PullRequest
0 голосов
/ 17 февраля 2012

Я использую rails_admin

Одна из моих частей такова:

%b= questionnaire.title

- CSV.parse(questionnaire.content, :headers => true, :col_sep => ",") do |row|    
  - row.to_hash.each do |key, value| 
    = succeed value do
      %b= key  + " : "

но ключ иногда выглядит так: "I_dont_want_underscore"

Я пробовал это:

 %b= questionnaire.title

  - CSV.parse(questionnaire.content, :headers => true, :col_sep => ",") do |row|    
    - row.to_hash.each do |key, value| 
      = succeed value do
        %b= key.gsub!-'_',' ')  + " : "

но тогда у меня появляется эта ошибка, показывающая: не удается преобразовать замороженную строку (или что-то подобное) Тогда я попытался продублировать

%b= questionnaire.title     
- CSV.parse(questionnaire.content, :headers => true, :col_sep => ",") do |row|    
  - row.to_hash.each do |key, value| 
    = succeed value do
      %b= key.dup.gsub!-'_',' ')  + " : "

Но тогда сервер больше не отвечает ... как получилось? в конце концов Я попытался поставить def в моем application_helper.rb

def sub_underscore
 self.dup.gsub!-'_',' ')
end

и

%b= questionnaire.title
  - CSV.parse(questionnaire.content, :headers => true, :col_sep => ",") do |row|    
    - row.to_hash.each do |key, value| 
      = succeed value do
        %b= key.sub_underscore  + " : "

Но я получаю эту ошибку: «нет метода sub_underscore для этой строки»

Есть идеи?

1 Ответ

2 голосов
/ 17 февраля 2012

С gsub! вы изменяете строку на месте. Это не то, что вам нужно здесь. Попробуйте использовать gsub вместо этого.

...