在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)