2012-02-23 2 views
2

В моем контроллере у меня есть:Rails не может изменить замороженную строку

def index 
    @title = 'asdsadas' 
    @kategoris = Tag.where("name like ?", "%#{params[:q]}%") 
    respond_to do |format| 
    format.html 
    format.json { render :json => @kategoris.map(&:attributes).map{|d| d.map{|d| d.map{|d| d.force_encoding("UTF-8") } } } } 
    end 
end 

Я получаю эту ошибку в представлении:

RuntimeError in Admin::TagsController#index 

can't modify frozen string 

ответ

9

Вы не можете force_encoding на замерзшую строке так, что бы изменить Это. Что вы можете сделать - это работа с копией:

d.map{ |d| d.dup.force_encoding("UTF-8") } 
Смежные вопросы