7
我正在使用以下幫助程序函數,但它似乎將我的JavaScript語句中的所有特殊字符轉換爲HTML實體,使其無法使用並損壞。有什麼建議麼?防止rails將特殊字符轉換爲HTML實體
def link_to_add_fields(name, f, association)
new_object = f.object.class.reflect_on_association(association).klass.new
fields = f.fields_for(association, new_object, :child_index => "new_#{association}") do |builder|
render(association.to_s + "_fields", :f => builder)
end
link_to_function(name, h("add_fields(this, \"#{association}\", \"#{escape_javascript(fields)}\")"))
end
上面產生像這樣的鏈接(注意轉換次數$amp;
- "
等:
<a href="#" onclick="add_fields(this, &quot;skills&quot;, &quot;&lt;label for=\&quot;user_skills_attributes_new_skills_name\&quot;&gt;Skill&lt;\/label&gt;\n&lt;input data-autocomplete=\&quot;/users/autocomplete_skills_vocab_name\&quot; id=\&quot;user_skills_attributes_new_skills_name\&quot; name=\&quot;user[skills_attributes][new_skills][name]\&quot; size=\&quot;30\&quot; type=\&quot;text\&quot; /&gt;&lt;br /&gt;\n&lt;input id=\&quot;user_skills_attributes_new_skills__destroy\&quot; name=\&quot;user[skills_attributes][new_skills][_destroy]\&quot; type=\&quot;hidden\&quot; value=\&quot;false\&quot; /&gt;&lt;a href=\&quot;#\&quot; onclick=\&quot;remove_fields(this); return false;\&quot;&gt;remove&lt;\/a&gt;&quot;); return false;">Add a Skill</a>
EDIT/
想通了 - 對於導軌3除去H2S()
你複製它不知道它是如何工作的?提示:h()是做什麼的? – 2011-04-21 12:21:02
非常誠實,我使用的是Railscasts插曲中的代碼:http://railscasts.com/episodes/197-nested-model-form-part-2我刪除了h(),現在它可以工作嗎?我很困惑,爲什麼它被用在Railscast中...... – stewart715 2011-04-21 12:21:59
Bleh,我認爲這是一個Rails 3問題 - 感謝Mark的那個快速修復.. – stewart715 2011-04-21 12:24:35