2011-09-12 44 views
0

問題は:そこに欠けていること、すべての緑のためRailsの</p> <p>私は、このソリューションを試してみました「私はINTYPEを使用しています

def convert_html_entities(text) 
    text = text.gsub(/["]/, '&quot;') 
end 

INTYPE色:

私はこれで問題を抱えています」緑色のテキストがすべて削除され、コードが正常に表示されました。

def convert_html_entities(text) 
    text = text.gsub(/['"']/, '&quot;') 
end 

しかし、vi EW:

undefined method `convert_html_entities' for #<XmlController:0x448cef0> 

Rails.root: C:/Rails/kimnew 
Application Trace | Framework Trace | Full Trace 

lib/update_xml.rb:21:in `block in update_xml' 
lib/update_xml.rb:19:in `update_xml' 
app/controllers/xml_controller.rb:21:in `test' 

答えて

1

あなたは一人としてそれを使用することはできませんので、どうやらあなたは、XmlControllerのインスタンスメソッドとしてconvert_html_entitiesを定義していませんでした。

コードのもう1つの問題は、メソッドパラメータの再割り当てが外部に影響を与えないことです。したがってtext = text.gsub(/['"']/, '&quot;')text.gsub(/['"']/, '&quot;')と同じです。引数を変更する場合は、gsub!を使用する必要があります。つまり、メソッドの引数を変更しないでください。それは悪いスタイルです。

+0

私はあなたの答えを受け入れます –

0

どこでメソッドを定義しましたか?あなたの問題は、コントローラがそれを見つけることができないためです。複数のコントローラで使用したい場合は、ApplicationControllerで定義するか、ビューでも使用したい場合はコントローラに組み込むことができます。

また、HTMLエンティティを安全に変換する場合は、CGI::escapeHTMLを使用できます。

関連する問題