2012-02-17 2 views
0

я использую rails_adminкак заменить подчеркивание строки в Haml

Один из моих парциальное как это:

%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!-'_',' ') + " : " 

Но сервер не отвечает ... как же? наконец я пытался поставить размораживание в моем 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 для данной строки"

Есть идеи?

ответ

2

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

+0

просто отлично ... Спасибо! – Timoun