Patch #26604 ยป 0001-Add-a-randomized-name-attribute-to-all-form-fields.patch
app/helpers/application_helper.rb | ||
---|---|---|
1180 | 1180 |
fields_for(*args, &proc) |
1181 | 1181 |
end |
1182 | 1182 | |
1183 |
def form_tag_html(html_options) |
|
1184 |
# Set a randomized name attribute on all form fields by default |
|
1185 |
# as a workaround to https://bugzilla.mozilla.org/show_bug.cgi?id=1279253 |
|
1186 |
html_options['name'] ||= "#{html_options['id'] || 'form'}-#{SecureRandom.hex(4)}" |
|
1187 |
super |
|
1188 |
end |
|
1189 | ||
1183 | 1190 |
# Render the error messages for the given objects |
1184 | 1191 |
def error_messages_for(*objects) |
1185 | 1192 |
objects = objects.map {|o| o.is_a?(String) ? instance_variable_get("@#{o}") : o}.compact |
test/helpers/application_helper_test.rb | ||
---|---|---|
1579 | 1579 |
assert_equal '<span class="hours hours-int">0</span><span class="hours hours-dec">:45</span>', html_hours('0:45') |
1580 | 1580 |
assert_equal '<span class="hours hours-int">0</span><span class="hours hours-dec">.75</span>', html_hours('0.75') |
1581 | 1581 |
end |
1582 | ||
1583 |
def test_form_for_includes_name_attribute |
|
1584 |
assert_match(/name="new_issue-[a-z0-9]{8}"/, form_for(Issue.new){}) |
|
1585 |
end |
|
1586 | ||
1587 |
def test_labelled_form_for_includes_name_attribute |
|
1588 |
assert_match(/name="new_issue-[a-z0-9]{8}"/, labelled_form_for(Issue.new){}) |
|
1589 |
end |
|
1590 | ||
1582 | 1591 |
end |