在haml中取消内联链接

所以我想在电子邮件表单中找到标题旁边的删除链接。 但是,我的铁路伏都教显然非常弱。 它逃脱了HTML,我无法弄清楚如何得到它。 任何提示?

= f.input :email, :label => "Email " + link_to_remove_fields("[x]", f) 

[编辑]哦,是的,这也做同样的事情:

 = f.input :email, :label => "Email #{link_to_remove_fields("[x]", f)}" 

这是我的助手方法……

 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.singularize + "_fields", :f => builder) end link_to_function(name, "add_fields(this, \"#{association}\", \"#{escape_javascript(fields)}\")") end 

我有同样的问题,我在我的助手中使用以下内容修复它:

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

有一点需要注意,当我在Rails 3.1应用程序中尝试此操作时,我必须重新启动服务器,然后才能获取帮助程序中的更改。 对于早期版本,这可能是也可能不是,但值得记住。

这不是很难修复。 Rails默认会逃避一切。 为了防止你可以在任何字符串上使用方法html_safe。 这可以解决您的问题。

= f.input:email,:label =>“电子邮件”+ link_to_remove_fields(“[x]”,f).html_safe

要么

= f.input:email,:label =>“电子邮件#{link_to_remove_fields(”[x]“,f).html_safe}”

切记不要将它放在整个标记化字符串的末尾,否则它将无效。 例如,这不起作用。

= f.input:email,:label =>“Email#{link_to_remove_fields(”[x]“,f)}”。html_safe

希望这可以帮助你。 =)

试试这个:

 require 'cgi' unescaped = CGI.unescapeHTML(string)