Text fragments allow linking directly to a specific portion of text in a web document, without requiring the author to...
...one to blame when the SEO folks complain about an empty . To avoid said behavior, use Nokogiri::XML instead of Nokogiri::HTML when parsing your HTML string. As long as...
...the input HTML contains a line break (somewhere inside the document, not at the beginning or end), the behavior of to_s magically changes to the above. >> Nokogiri::XML.fragment(" foo...
Sometimes you want to fetch associations for an ActiveRecord that you already loaded, e.g. when it has deeply nested associations...
Authentication is all about being able to verify the identity of a user in the context of our application.
Besides their default styling properties, HTML elements have a semantic meaning. For example, an h1 tag is usually styled with a larger font and bold, while it denotes "the single...
...HTML elements corresponding to the meaning of their content has a few advantages: HTML becomes a little clearer Edge cases have already been considered and implemented: Keyboard support (tabbing, arrow...
We generally use multiple application servers (at least two) and you have to search on all of them if you...
...page that you want to test for with its debug page. To turn this behaviour off you can use the code from Eliot Sykes' blog post I renamed the key...
...realistic_error_responses to true_404s for my projects. You can then activate the behaviour like this: describe "Admin Authorization", type: :request do describe "GET /admin_panel", :true_404s do
When debugging your application, you will come across objects created by some gem or framework. You don't have the...
...to cancel event propagation, each with different semantics. event.preventDefault() Only prevents the default browser behavior for the click, i.e. going to a different url or submitting a form.
...the class including the trait. While this may seem unproblematic at first glance, it becomes a problem when including traits in multiple classes, especially when using parameterized traits.
...you are actually defining ExampleTrait::HELLO. If you want to define a constant that belongs to a trait module, you can do that, and there a valid reasons to do...
...in development. Note that there are services like badssl.com to test against weird SSL behavior. Self-signed certificates Talking to a host using a self-signed certificate will fail because...
...connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed Best case scenario: the remote system's administrator understands and fixes this issue.
You can share a state in Ruby with global variables. Even if you should avoid them whenever possible, for debugging...
If you are using git submodules in Gitlab CI, you might run into a "The project you were looking for...
In the past we validate and set default values for boolean attributes in Rails and not the database itself.
Phusion Passenger changed the way how it gets restarted several times. Through the project's history, these all were valid...
When your controller action raises an unhandled exception, Rails will look at the exception's class and choose an appropriate...
PostgreSQL uses the C library's locale facilities for sorting strings: First, all the letters are compared, ignoring spaces and...
From Exploring ES6: Module imports are hoisted (internally moved to the beginning of the current scope). Therefore, it doesn’t matter where you mention them in a module and the...
...an integer with a string without explicit casting. Related security issue In authentication, this behavior may be used to match rows without knowing a secret token: Potential Query Manipulation with...
Recent rails security updates have shown that people make incorrect assumptions about the possible contents of the params hash.
Understanding your type of cronjob Some cronjobs must only run on a single server. E.g. when you run nightly batch...
...Gemfile.lock carefully when submitting a commit. Note that the approach in this card works best, if you use bundle outdated together with bundle update some_gem --convervative for major updates...
...methods for calculating times and dates, like Duration#ago or Duration#from_now. But beware when using those, because they wont give you Dates or Times but ActiveSupport::TimeWithZone instances...
...your local timezone, but Rails.application.config.time_zone, which has UTC as default value. The mitigation Best case, you have already defined Rails.application.config.time_zone, as we recommend anyway. In this case you...
The linked article suggests an interesting way to speed up tests of Rails + Postgres apps: PostgreSQL allows the creation of...