Correct HTML Entity for Twitter Bootstrap close link

I was recently implementing a Ruby on Rails method that creates flash messages with the beautiful Twitter Bootstrap styled alert message. I did however notice that although the flash messages looked almost correct, the "close" link on the right hand side was no longer correctly styled.

There are no images in the Twitter Bootstrap, so this icon must only be the English letter "x", or so I assumed.

After looking at the CSS comparison from the examples to my code and finding no help, I eventually noticed a slight difference in the "x" character I was using. It turns out that the Twitter Bootstrap is designed to use the HTML entity "&#215" (times symbol) instead of the keyboard letter "x".

Hopefully this can help out anyone else facing a similar confusing issue.

Activating Apache/PHP on Mac alongside Pow server

Instead of rewriting a step-by-step guide on how to do this, I can recommend two great articles that will get you setup in no time.

First read this article on how to setup Apache and PHP on your Mac:
http://superfancy.net/coding/php-mysql-apache-in-mac-osx-leopard/

Next, follow the instructions from 37signals on using Pow alongside Apache. Make sure to pay attention to the troubleshooting section if you had any trouble.
https://github.com/37signals/pow/wiki/Running-Pow-with-Apache

Stub RSpec cookies to set them in your tests

I have recently been in the situation where I was testing a controller that looked up the value of a cookie in a before_filter to validate the user.

I had trouble setting the cookie from within the controller spec so that it was available to the before_filter. The solution that I want to share is

controller.stubs(:cookies).returns({:user_session => 'xxxx'})

The reason I could not get this working earlier was that I was mistakenly trying to stub the cookies method directly. Instead I have to stub the controller cookies, even if it is a private method.

Detect if page is within Facebook iframe or not: Javascript

Make sure to check the update at the end of the article. 

There is a handy piece of Javascript which you can use to tell if the current page is within the Facebook canvas iframe, or if it is being viewed normally in the browser.

The Facebook canvas gives its window a special "name" attribute. In most cases unless you generated the browsing window, it will have no name so we can use the piece of code below.

  if(window.name != "") {
    //We are on Facebook
  } 
  else
  {
    //We are just in the normal browser window
  }

However, if you changed your window name through Javascript, change the IF statement to match.

With this information, we can hide, add or manipulate our HTML in any way that is required to highlight the difference between your Facebook app and the regular web app.

 

Update Feb 2016:

As noted by Kilian in the comment section, an imporved way to detect the Facebook iframe is:

if(window.name.indexOf('iframe_canvas_fb') > -1)

Rails 3 check if the user has specified request.format

The request.format object in Rails is always set. If the user has not specified a value in their URL, e.g. example.com/projects.json, then it will default to :html.

To check if the user has chosen the request format, use this piece of code:

    params[:format].nil?

© Blake Simpson, 2012 – 2018