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
In my controller I have:
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
I get this error in view:
RuntimeError in Admin::TagsController#index
can't modify frozen string
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您不能对冻结的字符串进行
force_encoding
,因为这会修改它。您可以做的是使用副本:You can't
force_encoding
on a frozen string since that would modify it. What you can do is work with a copy: