0
我目前在我的application_helper.rb文件中有一個簡單的方法,它被設計用來添加一個鏈接,當點擊時它會向表單添加一些新的字段。它看起來像:Rails - 在助手中轉義html?
def link_to_add_fields(type, object_form_builder)
link_to type, "#", "data-partial" => h(render(:partial => type + '/form',
:locals => {type.singularize.to_sym => object_form_builder,
:form_actions_visible => false})),
:class => 'add_fields'
end
我有一個問題,此代碼,即應獲取添加到data-partial
HTML屬性的部分被轉義(大概是由報價某處呈現的HTML)。我的理解是,h()
應該防止這種情況,但似乎並沒有這樣做。任何人都可以建議如何逃避這個?
編輯:我嘗試使用html_safe
方法如下所述,但無濟於事。我設法讓它逃避:
"data-partial" => "'" + render(:partial => type + '/form', :locals => {type.singularize.to_sym => object_form_builder, :form_actions_visible => false}) + "'"
但我不知道這是多麼安全?
編輯2:使用單引號轉義是不好的 - 雖然它轉義的html,它會輸出報價部分呈現時,這是不可取的。仍然在尋找關於如何在渲染局部時成功轉義html的任何想法。