makandra dev

...want to uninstall newer ones): bundle _1.0.10_ -v Bundler version 1.0.10 An example is rails 3.2, which freezes bundler at version ~> 1.0: Bundler could not find compatible versions for gem...

In Gemfile: rails (~> 3.2) was resolved to 3.2.0, which depends on bundler (~> 1.0) Current Bundler version: bundler (1.13.6) You can solve this with: gem install bundler -v 1.0.10

...files at once. To activate this feature, set the multiple attribute: Or in a Rails view: <%= file_field_tag "images[]", multiple: true %> This works in IE10+. Make sure that the...

...incoming files into an array. Obviously this naming convention is not compatible with default Rails nested attribute setters, so you'll need to write a form model to adapt...

...code below is a rough equivalent to the simple_format helper that ships with Rails: function simpleFormat(str) { str = str.replace(/\r\n?/, "\n"); str = $.trim(str); if (str.length > 0) {

...str.replace(/\n\n+/g, ' '); str = str.replace(/\n/g, ' '); str = ' ' + str + ' '; } return str; } Unlike the Rails helper, this does not preserve whitespace. You probably don't care...

mitrev.net

...false (intercepts invocation), whereas false&.class permits the invocation. &. might also remind you of Rails' Object#try. However, their scopes are different, and in Rails 4 nil-checking is only...

...route that only responds to a given format, here is how you do it: Rails 3 match 'sitemap.xml' => 'feeds#sitemap', :constraints => { :format => 'xml' }, :as => 'sitemap' Rails 2 map.sitemap 'sitemap.xml', :controller...

makandra dev
github.com

Katapult 0.3.0 brings Rails 5 and Ruby 2.5 support with a new design, plus a ton of smaller features, fixes and improvements. Features Generating a Rails 5.1.4 app on Ruby...

Remember how Rails 2 came with an awesome feature that broke all code using Time.now or Time.parse? This behavior is now the default for Rails 3. Disable it by adding...

github.com

Using Scenic, you can bring the power of SQL views to your Rails application without having to switch your schema format to SQL. Scenic provides a convention for versioning views...

...be updating some of a form's fields via XHR. You can simply use Rails' fields_for to do things like this in your views (HAML here): - fields_for @user...

makandra dev
github.com

When you need to use diff in either some Ruby code or your Rails app, use the differ gem. puts Differ.diff "foo", "boo" # => {"boo" >> "foo"} Usage There are several variants...

blog.jayfields.com

...these styles, and system will fail when passing it invalid arguments: system 'bundle exec rails server', '-p 3000' # fails and returns nil This is equivalent to running a command called...

...bundle exec rails" (including spaces in its filename). There is usually no such command anywhere on the $PATH. Note that you should prefer the 2nd approach (list of arguments instead...

makandra dev
github.com

Katapult was an endeavor to dramatically speed up starting a new Rails application. However, it turned out to save less time than expected, while requiring more time for maintenance than...

...code antiquated. Nevertheless, its architecture may remain an inspiration on how to use the Rails generators programmatically...

stackoverflow.blog

...opensource.zalando.com/restful-api-guidelines https://www.merixstudio.com/blog/best-practices-rest-api-development/ https://www.oreilly.com/library/view/rest-api-design/9781449317904/ More topics in our deck: Rails: Rest API post-mortem analysis InfoQ: How to Design a Good API & Why it Matters

When your Rails controller action responds with only a simple text, render text: 'Hello' may not be what you want. You should not even use it on Rails 4.1+ any...

By default, a "text" response from a Rails controller will still be a sent as text/html: render text: 'Hello' response.body # => "Hello" response.content_type # => "text/html" While this may not be...

view_context.helper_method('args') Rails 2 ApplicationController.helpers.helper_method('args') Also see How to use helper methods inside a model...

Obviously, this leads to problems when comparing strings: "Über".downcase == "über" => false In Rails you can use ActiveSupports' multibyte chars to avoid that problem. It gives you a wrapped...

...iconfont-plugin-webpack that automate the font building. If you're still using the Rails asset pipeline, try the half-automatic approach. Webpacker Rails: How to integrate the plugin

makandra dev
skillsmatter.com

With Rails 4, Concerns have become the “official” solution to the big-models problem. However, there’s a fair amount of controversy about this topic in the community. Not everyone...

...problem of AR models becoming too big. In this talk we will see what Rails Concerns are and how can we use them to keep our models fit. More interestingly...

[mysqld] sql_mode="" Now restart MySQL: sudo service mysql restart For a single Rails project If you only want to change the SQL mode for one project, you can...

...last_synchronized_at: nil, } } ) def validate_analytic_stats_against_json_schema @schema ||= File.read(File.join(Rails.root, 'app', 'models', 'project', "analytic_stats_schema_v#{analytics_stats_version}.json")) analytic_stats_errors = JSON...

makandra dev

...You can "fix" this in multiple ways: Update your drivers on your machine with RAILS_ENV=test rake webdrivers:chromedriver:update Ignore the driver update-URL in your VCR configuration...

...and see if VCR complains: WD_CACHE_TIME=1 bundle exec cucumber Note: Newer Rails versions come with the webdrivers gem automatically...

ombulabs.com

...49/65) travis-lint... Slow requires: 110.21 render_anywhere 147.33 nokogiri 173.83 haml 179.62 sass-rails 205.04 delayed_job_active_record 286.76 rails 289.36 mail 291.98 capistrano 326.05 delayed_job...

makandra dev

Now supports RSpec 3 and Rails 4 Drops support for state_machine, which has some issues with Rails 4 and isn't actively maintained

tenderlovemaking.com

...for your application's bit of metaprogramming. It may matter for a framework like Rails, and for methods that are called really often, but that is not your everyday code...