See this Railscast. Basically you can simply write views like index.xlsx.erb: ID Name Release Date Price <% @products.each do |product| %> <%= product.id...
The easiest way to detect touch-capable browsers is to check for the presence of touch events. It is no...
Preview what your markdown would look like on Github. Helpful e.g. when writing or extending a Readme for your gem...
Using uncountable resources is not recommended as it breaks Rails' magic, e.g. when using form_for. You'll always be...
Make sure you have libcurl3-dev installed: sudo apt-get install libcurl3-dev gem install typhoeus
This is a problem when using Selenium with Firefox. We recommend using ChromeDriver for your Selenium tests. This setup allows...
Adobe no longer supports their PDF reader on Linux and the official page does not offer it for download. \
Option 0: Download from the official page (preferred) Open https://googlechromelabs.github.io/chrome-for-testing/ In Section "Stable" > chromedriver / linux64 > Download ZIP from...
Starting Terminator with split screens is quite simple: Just store a layout and start Terminator with the --layout option.
One of the many useful features of TextMate is autocompletion of words. If I were in TextMate right now, I...
Have you ever opened a file with vim, edited it and when you wanted to save your changes it told...
If bower complains about a missing node binary, do not install Ubuntu's node package. Instead, you need to create...
Hash#fetch is a great way to ensure that a hash key is present. The error message when a key...
Google Calendar integration into Thunderbird suddenly did not work any more for me. Thunderbird kept asking me for my password...
Javascript library for drag'n'drop that seems to have more options than native HTML5 drag'n'drop.
Just install the texlive-xetex package: sudo apt-get install texlive-xetex Running integration tests without texlive-xetex will produce...
Creating records in specs can be so fast that two records created instantly after one another might have the same...
This is what worked for me in a Rails 4: # JSON data as first argument, then parameters patch :update, { some...
To avoid n+1 queries, you want to eager-load associated records if you know you need to access them...
When your system is not running on English, you may sometimes want to run some applications and not use your...
Getting rid of your old LibreOffice Remove your old LibreOffice: sudo apt-get remove libreoffice* You probably also want to...
If you get an error like this: An error occurred while installing pg (0.17.1), and Bundler cannot continue.
List flavors to show the ID and name, the amount of memory, the amount of disk space for the root...
Let's say you have two screens: Show a given project Show a report for all projects Ideally you want...