...or controller) logic. Here is how. Note: this has only been tested on a Rails 2 application. It should work similarly for Rails 3. Put this into your ApplicationController:
Now you can use with_full_urls in views, helpers or controllers and Rails methods like url_for will generate "full" URLs that have a protocol and hostname. You...
Next, configure your application to use that middleware by putting this inside your Rails initializer block (config/environment.rb for Rails 2, config/application.rb for Rails 3): require 'lib/rack/cookie_stripper.rb' config.middleware.use Rack::CookieStripper...
...block where you define replacements (as you already know). This issue applies to both Rails 2 (with rails_xss) as well as Rails 3 applications. Here is a fix to...
...html_safe.gsub(/(f)/) { puts $1; 'b' } f => "boo" Why? This is because of the way rails_xss implements "unsafe" methods: # vendor/plugins/rails_xss/lib/rails_xss/string_ext.rb UNSAFE_STRING_METHODS = [ ..., "gsub",...
for unsafe_method in UNSAFE...
...can remove conditions, order, etc by using the unscope method. It is available on Rails 4+. Examples Consider an exemplary User class as follows. For the examples below, we will...
...scope of any constraints. users.unscoped ^ SELECT "users".* FROM "users" While unscope was introduced with Rails 4, the unscoped method has been around since Rails...
t.column_name, :string t.remove :first_name t.remove :last_name t.rename :cool, :awesome end Rails 2 caveats Rails 2 does not understand the extra options hash but seems to build...
...only created when you rename columns. For other operations such as add and remove Rails 2 will still give you single ALTER statements. More See RobinWu's APIdock comment for...
...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...
...class DynamicStylesheetsController < ApplicationController def show logical_path = RELATIVE_PATH_TO_YOUR_TEMPLATE path = File.join(Rails.root, logical_path) template = Sass::Rails::SassTemplate.new(path) environment = YourApp::Application.assets context = environment.context_class.new(environment, logical_path...
task :script, roles: :app, only: { primary: true } do run "cd #{current_path} && RAILS_ENV=#{rails_env} bundle exec rails runner 'ScriptRunner.go'" end becomes desc 'Run script'
on primary :app do within current_path do with rails_env: fetch(:rails_env, 'production') do execute :bundle, 'exec', "rails runner 'ScriptRunner.go'" end end end end
...you already have stored files in the old structure) Checklist: Using Carrierwave in a Rails project
...page for more information on calculating sizes of databases or tables. Connect to a Rails database with bin/rails dbconsole -p...
Ubuntu 12.04 LTS x64, Ruby 1.8.7, Rails 2.13, PDFKit 0.5.4, Phusion Passenger Apache 2 I ran into this, when I started using passenger to deal with the Single Thread Issue...
...wkhtmltopdf-amd64 /usr/local/bin/wkhtmltopdf sudo chmod +x /usr/local/bin/wkhtmltopdf Tell PDFKit where to find your wkhtmltopdf: Rails::Initializer.run do |config| require "pdfkit" config.middleware.use PDFKit::Middleware PDFKit.configure do |config| config.wkhtmltopdf = '/usr/local/bin/wkhtmltopdf' # <-- the fix...
...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
...Commit using a story title from Pivotal Tracker geordi con[sole] [TARGET] # Open a Rails console locally or on a Capistrano deploy target geordi cu[cumber] [FILES] # Run Cucumber features...
...PATH # Optimize .png files geordi ra[ke] TASK # Run a rake task in several Rails environments geordi re[move-executable-flags] # Remove executable-flags from files that should not be...
...only of a single javascript file, so it does not trigger additional requests with rails it automagically provides user feedback by selecting the text it has copied it provides callbacks...
...modes like copying from a text field or from a data attribute How to (rails) Add clipboard.js to your project through bower or by downloading and adding the javascript file...
...up 20160517112656 Migrate pages to page versions up 20160518112023 ********** NO FILE ********** When you tell Rails to roll back, it tries to roll back the latest change that was migrated. In...
...have the corresponding migration file for. Hence, it can not be rolled back and Rails aborts silently. This happens for example when you migrated on the master branch at some...
...these helper methods to your ApplicationController: class ApplicationController < ActionController::Base private def integration_test? Rails.env.test? && defined?(Cucumber::Rails) end def observable_redirect_to(url) if integration_test? render :text => "If...
...entirely find out why, and we eventually did not care). This happened on a Rails 3.2 application and is likely to happen on Rails 4 applications as well. Your best...
...look at the filter chain in specs. You can do it like that on Rails 2: controller.class.filter_chain.map(&:method) Note that we need to look at the controller's class since...
...objects to scope down to only some of them: controller.class.filter_chain.select(&:before?).map(&:method) For Rails 3, do it like this (warning, ugly!): controller._process_action_callbacks.select { |c| c.kind == :before }.map(&:filter)
...following helper. def greeting message = ''.html_safe message << 'Welcome to ' message << content_tag(:span, Rails.env, class: 'greeting--location') content_tag :div, message, class: 'greeting' end That looks clumsy and is...
...say something like this? def greeting render_haml <<-HAML .greeting Welcome to %span.greeting--location = Rails.env HAML end It would be, and you can have it, too. You simply need to...
...like to split a Ruby array into pairs of two, you can use the Rails ActiveSupport method in_groups_of: >> [1, 2, 3, 4].in_groups_of...
...split a Ruby array into a given number of groups, you can use the Rails ActiveSupport method in_groups: >> [1, 2, 3, 4, 5, 6].in_groups...
DETAIL: There is 1 other session using the database. This could be the rails server, rubymine and many more. Beside terminating the session connection manually you can also find...
...out the pid and kill the process. 1. rails db 2. SELECT * FROM pg_stat_activity; datid | 98359 datname | foo_development pid | 21633 usesysid | 16384 usename | username application_name | DataGrip...
...scenario, the code below lets you write this: Given my IP address is 188.174.117.205 Rails 3 Given /^my IP address is "(.*?)"$/ do |ip| ActionDispatch::Request.any_instance.stub(:remote_ip).and_return(ip...
Rails 2 You will need the following step definitions: Given /^my IP address is (\d+\.\d+\.\d+\.\d+)$/ do |ip| ApplicationController.stubbed_request_ip = ip end After do ApplicationController.stubbed_request...
top Also see: How to get a rough picture about a Rails project How to examine an unknown Ruby object
...all styling inline, which means you'll have to do your styling inline. For Rails applications, you can use Roadie or premailer, which lets you keep your well-structured CSS...
...litmus during rendering. For a preview during develoment, you can also use your local Rails mailer previews. Take the preview HTML source and paste it to Litmus. When the builder...