0
我正在使用responders gem,並且我想在窗體無效時顯示驗證錯誤。在我的控制,我創建了interpolation_action
Rails I18n將撇號更改爲ASCII
def interpolation_options
{ resource_errors: @project_user.errors.full_messages.join(', ') }
end
和我reponders翻譯文件中有一個正確的密鑰:
project_users:
create:
notice: "Member has been added"
alert: "%{resource_errors}"
它工作得很好,我可以看到驗證錯誤消息,問題是撇號更改爲ASCII碼。
當然!這麼簡單..謝謝它現在可以運作 – Dawid 2015-03-02 10:32:44
這是潛在的危險。如果以這種方式進行操作,則必須確保手動轉義可能在閃存中顯示的所有用戶提供的數據(例如「'foo bar baz'不是有效的Flurb」)。如果您無法手動轉義這些值,則會出現XSS漏洞。 – 2015-03-02 13:10:51
這是真的,謝謝指出。 – 2015-03-02 13:29:34