Module: ActionView

Defined in:
lib/facebooker/rails/facebook_url_helper.rb

Overview

Extends the ActionView::Helpers::UrlHelper module. See it for details on the usual url helper methods: url_for, link_to, button_to, etc.

Mostly, the changes sanitize javascript into facebook javascript.

It sanitizes link_to solely by altering the private methods: convert_options_to_javascript!, confirm_javascript_function, and method_javascript_function. For button_to, it alters button_to itself, as well as confirm_javascript_function. No other methods need to be changed because of Facebook javascript.

For button_to and link_to, adds alternate confirm options for facebook.

Options

  • :confirm => 'question?' - This will add a JavaScript confirm prompt with the question specified.

    Example:

    # Generates: <a href="http://rubyforge.org/projects/facebooker" onclick="
    #			var dlg = new Dialog().showChoice('Please Confirm', 'Go to Facebooker?').setStyle();
    #			var a=this;dlg.onconfirm = function() {
    #		          document.setLocation(a.getHref()); 
    #			}; return false;">Facebooker</a>
    link_to("Facebooker", "http://rubyforge.org/projects/facebooker", :confirm=>"Go to Facebooker?")
    

    Alternatively, options may be specified.

    See the Facebook page wiki.developers.facebook.com/index.php/FBJS. These options are:

    :title

    Specifies the title of the Facebook dialog. Default is “Please Confirm”.

    :content

    Specifies the title of the Facebook dialog. Default is “Are you sure?”.

    Example:

    # Generates: <a href="http://rubyforge.org/projects/facebooker" onclick="
    #			var dlg = new Dialog().showChoice('the page says:', 'Go to Facebooker?').setStyle();
    #			var a=this;dlg.onconfirm = function() {
    #		          document.setLocation(a.getHref()); 
    #			}; return false;">Facebooker</a>
    link_to("Facebooker", "http://rubyforge.org/projects/facebooker", :confirm=>{:title=>"the page says:", :content=>"Go to Facebooker?"})
    

    Any other options passed are assumed to be css styles. Again, see the Facebook page wiki.developers.facebook.com/index.php/FBJS.

    Example:

    # Generates: <a href="http://rubyforge.org/projects/facebooker" onclick="
    #			var dlg = new Dialog().showChoice('the page says:', 'Are you sure?').setStyle({color: 'pink', width: '200px'});
    #			var a=this;dlg.onconfirm = function() {
    #		          document.setLocation(a.getHref()); 
    #			}; return false;">Facebooker</a>
    link_to("Facebooker", "http://rubyforge.org/projects/facebooker", :confirm=>{:title=>"the page says:, :color=>"pink", :width=>"200px"})
    

Defined Under Namespace

Modules: Helpers