link_to_function无法正常工作

时间:2012-12-11 14:39:13

标签: html ruby-on-rails ruby ruby-on-rails-3

我将rails应用程序从rails 2.3.14升级到rails 3.2.6。 link_to_function没有生成正确的html。

遵循帮助方法。 。

link_to_function(name, h("add_fields(this, \"#{association}\", \"#{escape_javascript(fields)}\")"))

正在生成......

<a href="#" onclick="add_fields(this, &amp;quot;quick_facts&amp;quot;, &amp;quot;&amp;lt;div class=\'quick_fact\'&amp;gt;\n  &amp;lt;div class=\'grid_4 prefix_1\'&amp;gt;\n    &amp;lt;label for=\&amp;quot;organization_quick_facts_attributes_new_quick_facts_quick_fact\&amp;quot;&amp;gt;QuickFact&amp;lt;\/label&amp;gt;\n    &amp;lt;br&amp;gt;\n    &amp;lt;select class=\&amp;quot;quick_fact_select\&amp;quot; id=\&amp;quot;organization_quick_facts_attributes_new_quick_facts_quick_fact\&amp;quot; name=\&amp;quot;organization[quick_facts_attributes][new_quick_facts][quick_fact]\&amp;quot;&amp;gt;&amp;lt;option value=\&amp;quot;\&amp;quot;&amp;gt;&amp;lt;\/option&amp;gt;\n    &amp;lt;option value=\&amp;quot;Hours\&amp;quot;&amp;gt;Hours&amp;lt;\/option&amp;gt;\n    &amp;lt;option value=\&amp;quot;Serving\&amp;quot;&amp;gt;Serving&amp;lt;\/option&amp;gt;\n    &amp;lt;option value=\&amp;quot;Insurance Accepted\&amp;quot;&amp;gt;Insurance Accepted&amp;lt;\/option&amp;gt;\n    &amp;lt;option value=\&amp;quot;Features\&amp;quot;&amp;gt;Features&amp;lt;\/option&amp;gt;\n    &amp;lt;option value=\&amp;quot;Services Provided\&amp;quot;&amp;gt;Services Provided&amp;lt;\/option&amp;gt;&amp;lt;\/select&amp;gt;\n    &amp;lt;br&amp;gt;\n  &amp;lt;\/div&amp;gt;\n  &amp;lt;div class=\'clear\'&amp;gt;&amp;lt;\/div&amp;gt;\n  &amp;lt;div class=\'grid_4 prefix_1\'&amp;gt;\n    &amp;lt;label for=\&amp;quot;organization_quick_facts_attributes_new_quick_facts_content\&amp;quot;&amp;gt;Content&amp;lt;\/label&amp;gt;\n    &amp;lt;br&amp;gt;\n    &amp;lt;input id=\&amp;quot;organization_quick_facts_attributes_new_quick_facts_content\&amp;quot; maxlength=\&amp;quot;200\&amp;quot; name=\&amp;quot;organization[quick_facts_attributes][new_quick_facts][content]\&amp;quot; size=\&amp;quot;200\&amp;quot; type=\&amp;quot;text\&amp;quot; /&amp;gt;\n    &amp;lt;br&amp;gt;\n  &amp;lt;\/div&amp;gt;\n  &amp;lt;div class=\'clear\'&amp;gt;&amp;lt;\/div&amp;gt;\n  &amp;lt;div class=\'grid_2 prefix_1 exempt\'&amp;gt;\n    &amp;amp;nbsp;\n    &amp;lt;a href=\&amp;quot;#\&amp;quot; class=\&amp;quot;remove_temp_qf\&amp;quot;&amp;gt;remove&amp;lt;\/a&amp;gt;\n  &amp;lt;\/div&amp;gt;\n&amp;lt;\/div&amp;gt;\n&amp;quot;); return false;">Add Another QuickFact</a>

当渲染这个html时,没有调用onclick函数,这是错误。

syntax error

add_fields(this, &quot;quick_facts&quot;, &quot;&lt;div class=\'quick_fact\'&gt;...

quick_facts# (line 1, col 17)

任何解决这个问题的想法??

1 个答案:

答案 0 :(得分:1)

#h方法在Rails 3中已经改变,Rails 3现在自动转义为“不安全”的字符串。有关详细信息,请参阅this question