...config.gem 'chunky_png', :version => '=0.8.0' create config/initializers/compass.rb (or copy from development repo): ^ require 'compass' rails_root = (defined?(Rails) ? Rails.root : RAILS_ROOT).to_s Compass.add_project_configuration(File.join(rails_root, "config...

^ This configuration file works with both the Compass command line tool and within Rails. Require any additional compass plugins here. project_type = :rails project_path = Compass::AppIntegration::Rails.root

...For newer Ruby versions, use form_with_development_errors.rb. This monkey patches both form_for and form_with. Rails-XSS is required by default. So if your project doesn't support Rails-XSS...

If you require your Rails models manually, pay attention to the path you use. Unless you have to, don't do it at all. Background Consider these...

class Foo # something happens here end Now, when your environment is booted, Rails will automatically load your models, like User. In our example, when Foo gets loaded, it...

...for session hashes. Use update instead. Outline Let's assume you're modifying the Rails session. For simplicity, let's also assume your session is empty when you start (same...

...is the ActionController::Session::AbstractStore::SessionHash class (session is of that type in your Rails application, but also in Rack middleware): class SessionHash < Hash # ... def update(hash) load_for_write...

Rails comes with grouped_collection_select that appears to be useful, but isn't. As an alternative, consider the flat_grouped_collection_select found below. It takes a third argument...

...use the String#strip_heredoc method from ActiveSupport. See Summarizing heredoc in ruby and rails for an example. Technically, it looks for the least indented line in the whole string...

...like app/inputs/grouped_collection_select_input.rb (SimpleForm will pick it up automatically; if it does not, restart your Rails server) and use it in your form with that new :group_by option.

If you migrate a Rails application from Sprockets to Webpack(er), you can either transpile your CoffeeScript files to JavaScript or integrate a CoffeeScript compiler to your new process. This...

...This is why we don't use "transactional fixtures" in our Cucumber tests, which Rails by default uses to clean up the database after each test. Instead we use DatabaseCleaner...

Adding the asset cache directory to symlinked directories Popular asset managers for Rails are Sprockets and Webpacker. Both keep a cache of already compiled files that we're...

...you already have stored files in the old structure) Checklist: Using Carrierwave in a Rails project

github.com

...uses mocha. This note shows to use RSpec stubs and mocks instead. Rspec 1 / Rails 2 Put the following into your env.rb: require 'spec/stubs/cucumber' Rspec 2 / Rails 3

If you want to make your Rails application be capable of sending SMTP emails, check out the action mailer configuration section in the Ruby on Rails guide.

...in your environment or individually applied to an email generated in your mailer: # production.rb: Rails.application.configure do config.action_mailer.delivery_method = :smtp config.action_mailer.smtp_settings = smtp_settings end # test_mailer.rb def test_mail

makandra Curriculum

...to understand what middlewares in Rack are good for. Rack Start with these articles: Rails on Rack Introduction to Rack Middleware Short Screencast to a sample Middleware

...answer the following questions: What is Rack? How does Rack relate to Ruby on Rails? What is Rack middleware? What are some advantages of implementing functionality as a middleware as...

Note that you cannot currently use Ruby 1.9.2 with Rails 2 applications that use RSpec, so don't upgrade if that is your setup. The rspec-rails gem has a...

...fatal bug that was only fixed for rspec-rails-2.x, which only supports Rails 3. There is no fix for the rspec-rails-1.3.x series of the gem...

wiki.postgresql.org

...page for more information on calculating sizes of databases or tables. Connect to a Rails database with bin/rails dbconsole -p...

After upgrading to Rails 6.1.7.2 one of our apps printed a wall of warnings while booting: /var/www/app/shared/bundle/ruby/2.6.0/gems/net-protocol-0.2.1/lib/net/protocol.rb:68: warning: already initialized constant Net::ProtocRetryError /home/deploy-app/.rbenv/versions/2.6.10/lib/ruby/2.6.0/net/protocol.rb:66: warning: previous definition of...

stackoverflow.com

...code is causing an exception which is not the one shown in your terminal. Rails tries to catch this exception and clean up constants but -- while it's still booting...

Have a look at the environment's log file instead Open up a Rails console (may give you more information than the logs) If you're lucky it's...

...they won't change their mind. [1] We are not talking about the the Rails session cookie here, though it often is a session cookie...

Rails comes with a Rake task notes that shows code comments that start with "TODO", "FIXME", or "OPTIMIZE". While it's generally not good practice to leave them in your...

app/helpers/frontend/slider_helper.rb: * [48] [TODO] this is only temporary till frontend is done However, with Rails' default configuration this task will only look through default file extensions, like .rb, .erb, .css...

makandra dev
github.com

...for easily adding new commands many little niceties New commands setup: set up a Rails project for the first time (bundle install, create database.yml, create databases, migrate), optionally run all...

...update by pulling/pushing/merging and deploying just as our workflow is devserver: boot a development server Rails-version-agnostic console: open a local Rails console Rails-version-agnostic, or remotely, e.g...

...the standard configuration, though, it does not interpret the escape sequences used in the rails logfiles. To enable this type: less -R my_logfile.log You can also have an alias to...

robots.thoughtbot.com

...repositories. It's basically "Open Source Development 101". Way back in mid-2007, when Rails 1.2 was the new hotness and GitHub was still a year away from crawling out...

...is to "vendor" the gem by copying it into the vendor/gems directory of your Rails project. You can then make any changes you require and Rails will use the vendored...

...after a server restart. Unfortunately you need to perform some additional steps to marry Rails and the copied gem. This notes describes what to do. With Bundler