Q: チュートリアル コードをあまりハックせずにこの問題を解決するにはどうすればよいですか? チュートリアル コードから離れるのを減らしたいと思います。
私は、Michael Hartl によるオンラインの Ruby on Rails チュートリアルに取り組んでいます。第 7 章では、Gravatar プラグインを使用してプロフィール写真を取り込み始めます。(これは Rails 3 と互換性がないように見えますが、これは問題ではありません。)
プラグインは機能していますが、Rails アプリに Gravatar 画像が表示されません。テキスト文字列を表示します。つまり、Gravatar コードを html タグではなくテキストとして挿入します。
ファイルに以下を表示する代わりに:
<img class="gravatar" alt="" width="52" height="52" src="http://www.gravatar.com/avatar/b58996c504c5638798eb6b511e6f49af?rating=PG&size=52" />
これを示しています(画像ではなくテキストを表示しています):
<img class="gravatar" alt="" width="52" height="52" src="http://www.gravatar.com/avatar/b58996c504c5638798eb6b511e6f49af?rating=PG&amp;size=52" />
私のビューファイルには以下が含まれています:
<%= gravatar_for user, size: 52 %>
Gravatar プラグインには以下が含まれます (gravatar.rb):
def gravatar(email, options={})
src = h(gravatar_url(email, options))
options = DEFAULT_OPTIONS.merge(options)
[:class, :alt, :size].each { |opt| options[opt] = h(options[opt]) }
"<img class=\"#{options[:class]}\" alt=\"#{options[:alt]}\" width=\"#{options[:size]}\" height=\"#{options[:size]}\" src=\"#{src}\" />"
end
他の情報:
Rails 3.2 を実行している Windows 7 ボックスで作業しています。