Module: ActionView::Helpers::UrlHelper
- Defined in:
- lib/facebooker/rails/facebook_url_helper.rb
Instance Method Summary collapse
-
#button_to_with_facebooker(name, options = {}, html_options = {}) ⇒ Object
Alters one and only one line of the Rails button_to.
Instance Method Details
#button_to_with_facebooker(name, options = {}, html_options = {}) ⇒ Object
Alters one and only one line of the Rails button_to. See below.
52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 |
# File 'lib/facebooker/rails/facebook_url_helper.rb', line 52 def (name, ={}, = {}) if !respond_to?(:request_comes_from_facebook?) || !request_comes_from_facebook? (name,,) else = .stringify_keys convert_boolean_attributes!(, %w( disabled )) method_tag = '' if (method = .delete('method')) && %w{put delete}.include?(method.to_s) method_tag = tag('input', :type => 'hidden', :name => '_method', :value => method.to_s) end form_method = method.to_s == 'get' ? 'get' : 'post' request_token_tag = '' if form_method == 'post' && protect_against_forgery? request_token_tag = tag(:input, :type => "hidden", :name => request_forgery_protection_token.to_s, :value => form_authenticity_token) end if confirm = .delete("confirm") # this line is the only change => html_options["onclick"] = "return #{confirm_javascript_function(confirm)}" ["onclick"] = "#{confirm_javascript_function(confirm, 'a.getForm().submit();')}return false;" end url = .is_a?(String) ? : self.url_for() name ||= url .merge!("type" => "submit", "value" => name) "<form method=\"#{form_method}\" action=\"#{escape_once url}\" class=\"button-to\"><div>" + method_tag + tag("input", ) + request_token_tag + "</div></form>" end end |