When a controller action redirects to an external URL (like http://somehost.com/some/path) you will find that this is hard...

Unfortunately, Capybara does not offer a switch to disable cookies in your test browser. However, you can work around that...

To set a cookie in your test browser for cucumber tests, you need to know which driver you are using...

The following code doesn't work like expected: page.find(css_selector).find(other_css_selector) The second .find will search...

opensoul.org

Great presentation about writing Javascript like you write everything else: Well-structured and tested. JavaScript is no longer a toy...

singlepageappbook.com

Great look at the tradeoffs between progressive enhancement with jQuery or similiar, vs. client-side views.

tenderlovemaking.com

In Ruby, the meaning of protected and private is different from other languages like Java. (They don't hide methods...

stackoverflow.com

Access the Method object Dead simple: Get the method object and ask for its owner: "foo".method(:upcase) # => #

Establishing a TCP connection to a SSL secured remote service is not possible using telnet or nc. Though, you can...

chartjs.org

Chart.js seems to be a good alternative to Google's Chart API and other commercial chart drawing libraries.

Rails flashes (FlashHash) track a list of used keys, which is not respected when comparing flash hashes.

For example if you use rvm and get this message: ERROR: Loading command: install (LoadError) no such file to load...

coding.smashingmagazine.com

Smashing Magazine lists some handy tricks for print style sheets, all with CSS: Expand External Links For Print

browserhacks.com

The linked site lists a wealth of CSS hacks that let you apply styles to just that one browser. You...

Since there are more and more touch-capable devices out there, as a web-developer it becomes more and more...

Consider this class: class Foo private def test puts "Hello" end end While you can say create a block to...

Do not pass times to date attributes. Always convert times to dates when your application uses time zones. Background

ariejan.net

Rails understands a :limit options when you create columns in a migration. Its meaning depends on the column type, and...

robots.thoughtbot.com

Guide how to make fixes in other people's GitHub repositories. It's basically "Open Source Development 101".

Google Chrome saves your profile data in ~/.config/google-chrome. To transfer the profile to for example a system you have setup...

jeff.dallien.net

When you use heredoc, string interpolation is enabled by default: x = "Universe" <<-MESSAGE Hello #{x} MESSAGE # => "Hello Universe"

makandra dev

Sometimes it seems a favicon does not work because your browser displays an old version or (in case of local...

web.archive.org

TL;DR: You should generally use #size to count associated records. size Counts already loaded elements If the association is...

Here is a hacky way to load dumps directly from the source server, without fully copying them over and extracting...