簡體   English   中英

Rails無法修改凍結的字符串

[英]Rails can't modify frozen string

在我的控制器中,我有:

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

您不能對凍結的字符串進行force_encoding ,因為那樣會對其進行修改。 您可以做的是使用副本:

d.map{ |d| d.dup.force_encoding("UTF-8") }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM