0

アプリの index.rhtml でこの問題が発生しています。基本的に、ページに動的 div があり、現在サインインしているユーザーのプロジェクトのすべての情報が表示されます。

エラーが発生するスニペットを次に示します。

<% projects.each do |p| %>
  <tr>
    <td><div><%=h p.location %></div></td> <- ERROR
  ...

p.location文字列を返すだけであることに注意してください。

奇妙なことに、このエラーはアプリのローカル コピーでは表示されず、運用サーバーでのみ発生します。私のローカル コピーは、運用サーバー (gems、Ruby バージョン、Rails バージョン) と同じ環境を使用しています。

ここに私の宝石リストがあります

*** LOCAL GEMS ***
actionmailer (2.3.5)
actionpack (2.3.5)
activerecord (2.3.5)
activeresource (2.3.5)
activesupport (2.3.5)
bcrypt-ruby (2.1.2)
bson (0.20.1)
bundler (1.0.22)
composite_primary_keys (2.3.5.1)
factory_girl (2.5.1)
fastthread (1.0.7)
ferret (0.11.6)
jnunemaker-validatable (1.8.3)
mocha (0.9.8)
mongo (0.19.3)
mongo_mapper (0.7.3)
mysql (2.8.1)
rack (1.0.1)
rails (2.3.5)
rake (0.9.2.2)
redgreen (1.2.2)
rubygems-bundler (0.2.8)
rvm (1.9.2)
thoughtbot-shoulda (2.11.1)
4

1 に答える 1

0

iconv を使用してそれを修正するハックな方法を見つけました。基本的に、utf-8エンコーディングに強制しました。

モデルでは:

class Project < ActiveRecord::Base  
...

  def location
    ::Iconv.conv('UTF-8//IGNORE', 'UTF-8', self[:location] + ' ')[0..-2]
  end

...
end

しかし、これでも私の質問には答えませんでした。ローカルでエラーを複製できず、運用サーバーでのみ発生します。

于 2012-07-13T09:38:55.570 に答える