Musings about Entrepreneurship, Technology and Software Development

Accidental Technologist

  • Home
  • About
  • Still River Software
  • Privacy Policy

Damn You Rails Multiparameter Attributes

Tweet

Boy with a headache MG 0599

I came across an interesting problem that was driving me crazy when using Ruby on Rails 3.2 Date types in an application I am working on for client.

Problem

I have a date property that is virtual and not backed by a column in a database. When trying to create a new object from a date select on a form, I was being greeted by the following error:

ActiveRecord::MultiparameterAssignmentErrors in Users::MembershipsController#create

1 error(s) on assignment of multiparameter attributes

After some searching around the web for a solution, as any self-respecting developer does, and came up with many others facing the same problem. ?It was suggested this was a problem with Rails, a quick check on the Github Rails project revealed something similar reported, but no solid fix I could find. ?It may be out there and if someone is aware, please let me know. ?I am using Rails 3.2.8 so any fixes that exist, should be in there.?

This works great when using the date select and storing to a database, Rails takes care of processing multiparameter attributes and pushing into the date field. ? We are talking about virtual attributes here, no database field to store the data.

Solution

Please don’t comment how bad this solution is..it’s a hack, I know, but it works. I’m never too proud to share a hack.?

The goal here is to end up with and expiration date in a virtual attribute on my model. ?To accomplish this I construct a plain Ruby Date class from the components of the date from the date select form helper. ?Ruby Date expects parameters; Date.new(Year, Month, Day)

NOTE: if you try this look at the parameter values for each component of your date to make sure choose the right values. ?I have changed the default order of the date select on the form.

params[:user][:membership_attributes][:expiration_date]=Date.new(
params[:user][:membership_attributes][:"expiration_date(1i)"].to_i,
params[:user][:membership_attributes][:"expiration_date(2i)"].to_i,
params[:user][:membership_attributes][:"expiration_date(3i)"].to_i)

Now remove the individual date components from the parameter hash:

params[:user][:membership_attributes].delete(:"expiration_date(1i)")
params[:user][:membership_attributes].delete(:"expiration_date(2i)")
params[:user][:membership_attributes].delete(:"expiration_date(3i)")

In my case this is strictly for a Ruby Date type in Rails but the problem and solution is the same with a Ruby DateTime type. ?The date and time are broken down more, having 4i and 5i representing the time.

Finally

This little hack works great and hopefully helps those using a version of Rails 3 that is not patched..or heck, maybe it will never be.

I’d be happy to learn this was fixed or how I could have handled this better. ?Please add some details in the comments.

?

Share this:

  • LinkedIn
  • Twitter
  • Facebook
  • Email
  • More
  • Pinterest
  • Tumblr
  • Pocket
  • Reddit

August 29, 2012 Posted in Ruby on Rails Tagged With: Ruby on Rails

Rails Views and Backbone.js with David Heinemeier Hansson

Tweet

This is a great discussion with DHH about the Basecamp rewrite, not going crazy using Backbone.js, like so many developers are doing these days, for everything. ?One technology used is PJAX, for updating small bits of a view to give small, fast updates. ?PJAX combines HTML5 pushState and AJAX to make the fast magic happen.

PJAX is a great example how to use the views we know and the fast updates we need instead of completely changing the way Rails developers approach views using tools like Backbone.js, Knockout and others.

The discussion is about 1 hr 40 min long but well worth it. ?You get some good views of new Basecamp Rails code and the usual colorful dialog. ?

David had a great post on the 37Signals blog that serves as some background to the above talk titled?How Basecamp Next got to be so damn fast without using much client-side UI.

Share this:

  • LinkedIn
  • Twitter
  • Facebook
  • Email
  • More
  • Pinterest
  • Tumblr
  • Pocket
  • Reddit

August 27, 2012 Posted in Ruby on Rails Tagged With: backbone.js, pjax, rails

RailsConf 2012 Wrap Up

Tweet

IMG 0370

I was fortunate enough to be able to work out attending RailsConf 2012 in Austin, TX. ? This was the first time on many years that the conference was not organized by O’Reilly but rather Ruby Central, Inc.

I have to go on record and say I usually avoid cities but the city of Austin is a great place and would not hesitate to return. ?The people are friendly and there is so much diversity in the city that there is something new on each corner. ?I noticed an abundance of restaurants with so many different types of food. ?I can’t say I had a single bad meal during my journey. ?Everyone I spoke with about the trip said I had to try the BBQ, and they were right?it was fantastic.

IMG 0379

Many of the sessions overfilled the room. ?This on in particular exemplifies what I’m talking about. ?I bet the fire marshal wasn’t aware of these. ?Overall the floors were pretty comfortable.

It was often difficult to decide which sessions to attend, with 3 full-tracks there always seemed to be two talks during the same time slot I wanted to take. ?I usually decide which sessions to attend by how applicable they are to current work.

One of my favorite sessions was by Obie Fernandez about using Redis?with Rails. ?Although the examples of the talk were from his recent startup, they were excellent and showed integrating Redis into a Rails application not to remove ActiveRecord but to compliment it. ?Obie discussed a gem he released to help the integration called redis_props along with sample code used in the talk. ?The code is clean and concise?great stuff.

Another talk I found personal value in was the Semi Automatic Code Review by Richard Huang. ?Richard is the creator and maintainer of the Rails Best Practices gem. ?In the talk he discusses another related open source project called Railsbp.com which allows for your code to be reviewed when committing to Github. ?The results will be displayed on the Railsbp.com site where you can change the code right there and commit back to your repo. ?Very informative details produced from the site, GitHub allows hooks into the service and thoughtfully open sourced. ?I wasn’t aware of the site before but now I am using it regularly.

The other talk which I took a lot away from was Digging Deep with ActiveSupport::Notifications by Matt Sanders. ?This talk when into great detail with many examples of using notifications in your applications. ?It is similar to the event publishing and subscriber model from other platforms such as .NET. ?Having spent many years writing .NET applications this talk brought back many memories of this pattern. ?The techniques exemplified here I had never used in Rails but do need this functionality on a new project. ?

UPDATE (05/03/2012): One talk that was intended to be included here, is from Lori Olson. ?Her talk titled, Mobile Rage – What causes it & how to fix it?(Confreaks), takes the view of web application use on a mobile device from the user’s perspective and how developers can implement very simple techniques to ease the pain. ?I recommend this one highly, good stuff and some tips I was not aware of. ?I admit I have some sites that can take advantage of this. ?

IMG 0387

The final keynote of day one was from a non-Ruby developer, Rich Hickey, which seemed to be out of the ordinary. ?Maybe he was there to pull some Ruby developer to the Clojure world. ?It appears Rich is trying to convince these two Rubyist that LivingSocial would be better with Clojure. ?I wish I could have overheard the conversation.

There were three very large, two-sided, white boards used for companies to post jobs, and they were pretty full of opportunities. ?I noticed there were far too many companies attempting to make the next Facebook or Twitter and not enough companies creating really useful applications. ?There were exceptions from what I could see, but too few. ?I remember the same thing happening around 2000 and then the bubble burst. ?Apparently we are not better from this event in history because we have not learned from it.

I finally met face-to-face many friends I only knew from various social networks with lively hallway track discussions. ?I think this is the #1 reason to attend conferences. ?The materials from the talks are available everywhere and with Confreaks recording all the sessions, you can watch the show later. ?You can’t however, experience meeting new friends and seeing old ones without attending.

I recommend every Rails developer attend just one of these events, well worth the time and effort. ?The next on is in Portland, OR from April 29 to May 2, 2013.

Share this:

  • LinkedIn
  • Twitter
  • Facebook
  • Email
  • More
  • Pinterest
  • Tumblr
  • Pocket
  • Reddit

May 2, 2012 Posted in Ruby on Rails Tagged With: conference, railsconf, Ruby, Ruby on Rails

Palliative Symptoms Survey Hits the Apple App Store

Tweet

I have been working diligently on a project for some time now and it’s finally available. ?My company, Still River Software, received approval from Apple last week for Palliateive Symptoms Survey to help doctors and caregivers provide better and faster care to their patients.

Palliative Symptoms Survey is an application based on the Edmonton Symptom Assessment Survey (ESAS-r) which was developed to assist in the assessment of nine symptoms that are common in palliative care patients: pain, tiredness, drowsiness, nausea, lack of appetite, depression, anxiety, shortness of breath, and wellbeing There is also a blank scale for patient-specific symptoms.

The application is a native iPad application written in Objective-C with a back-end using Ruby on Rails. ? Please read a little bit about the project on my company web site.

Share this:

  • LinkedIn
  • Twitter
  • Facebook
  • Email
  • More
  • Pinterest
  • Tumblr
  • Pocket
  • Reddit

March 28, 2012 Posted in Ruby on Rails Tagged With: Apple, iOS, iPad, objective-c, Ruby on Rails

When Pow Eats Up the Clock Cycles

Tweet

I have been a huge fan of Pow to serve my Rails applications for development on my Mac. ?I wrote my love for Pow a while back and have been using it ever since, but all has not been a perfect experience along the way. ?After upgrading to the 0.3.2 version I started to have my applications appear to lock up in the browser and finally timing out.

The only solution I could reliably make work was to open up Activity Monitor and kill the pow process manually. ?It worked..until the next time and I would have to do it again and again. ?It seemed like I was doing this many times a day.

It turned out this was a bug reported to the development team and is a confirmed issue. ?The cause of the problem is determined to be the dns resolver, ndns. ? ?A pre-release version, 0.4.0-pre is reported to resolve the issue. ?Install it with the command:

curl get.pow.cx | VERSION=0.4.0-pre sh

I did this and have not had to manually restart pow once. ?I’m not sure why the official release has not been updated to include the fix to this issue which seems to effect many users.

?

Share this:

  • LinkedIn
  • Twitter
  • Facebook
  • Email
  • More
  • Pinterest
  • Tumblr
  • Pocket
  • Reddit

February 16, 2012 Posted in Ruby on Rails Tagged With: pow, Ruby on Rails

ASP.Net MVC vs Ruby on Rails Smackdown Results

Tweet

I’m sure everyone saw this already, right? ?In case you didn’t then it’s worth a look.

It amazes me (though it shouldn’t) how far a community of developers can take something vs. a software giant like Microsoft. ?It looks like open source wins against corporate. ?Sure, the results are not exactly scientific but interesting all the same.

Share this:

  • LinkedIn
  • Twitter
  • Facebook
  • Email
  • More
  • Pinterest
  • Tumblr
  • Pocket
  • Reddit

February 14, 2012 Posted in Ruby on Rails Tagged With: ASP.NET MVC, Ruby on Rails

Mixing Secure and Non-Secure Assets in Your Web Application

Tweet

The life of the web developer never seems to be easy, always a new problem cropping up.

The Problem

One such issue surfaced when a client wanted to begin accepting credit cards. ?As most Internet users assume, they land on a web page asking for credit card information and it’s secure, I wouldn’t enter my credit card information without seeing the friendly little lock. ?Another telltale sign is seeing the https: in the browser address bar.

Many sites today make use of outside CSS and JavaScript files host on a content delivery network (CDN) somewhere on the interwebs. ?This has tremendous benefit for web developers and users alike, giving applications better performance. ?The problem arises when we have a secure page (https) which pulls in assets from non-secure CDNs, where requesting assets securely will fail to return successfully and ruins the user’s experience.

This application happens to be a Ruby on Rails application but that fact is irrelevant. ?The scenario is likely common today; we have a secure checkout page but our site contains menus and links to pages which are not sure but just plain http. ?When the users visit the site with their browser of choice they are presented with various messages or maybe none.

  1. Firefox 6/7, no message..just no indication the page is using SSL.
  2. Chrome, no message but a red line through the “https:” in the browser address bar. ?This does not give confidence to the user, I would not put my credit card information in this page.
  3. Safari, no messages and everything looks good with the exception of the missing tiny lock icon indicating a secure page.
  4. Internet Explorer, well this is the least friendly of the browsers telling the user there is mixed content and prompted with how to proceed.

The problem was mainly centered-around the Yahoo YUI JavaScript and CSS assets and how they were included. ?This application uses the Yahoo content delivery network (CDN) to serve the assets, which is a great way to serve the assets.

The Solution

I decided to do what every self-respected web developer does when facing a problem, Google for someone else who had the same problem and successfully solved it. ?I ran into one very insightful post from Dan over at CollectiveIdea. ?The post lays out a very similar problem with some good ideas for the solution.

Dan points out a URL like this:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js" type="text/javascript"></script>

Will cause Mixed Content warnings when included from a secure page. ?Some of the suggested solutions include downloading all of the assets locally and the problem goes away. ?Although this is true, we lose the benefits of using a CDN.

What works is both elegant and simple; two qualities that make my day. ?Referencing your CDN-based assets this way is only a slight change:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js" type="text/javascript"></script>

Notice how we are referencing the GoogleAPI URL, we leave off the http: and the https:. ?By using two forward slashes only the request will resolve itself and work brilliantly.

Maybe I am the last web developer to find out this tidbit of information but I wanted to document it so the next one faced with this could find the answer here.

Share this:

  • LinkedIn
  • Twitter
  • Facebook
  • Email
  • More
  • Pinterest
  • Tumblr
  • Pocket
  • Reddit

December 15, 2011 Posted in Ruby on Rails Tagged With: rails, ssl

The Simplicity that is Pow

Tweet

Logo pow

Simplicity is a beautiful thing. ?I love a simple tool which makes my life as a developer easier.

Ruby on Rails has made the life of the web developer much more pleasurable over the years but even so there are some things which could be made better. ?One such thing is running your Rails applications locally when developing. ?Every Rails developer is familiar with the script/server command if you are in Rails 2.3 and earlier or the rails server command if you are using Rails 3. ?The next step would be to fire up the browser and enter localhost:3000 into the address bar. ?Most of the time this works fine, but a bit tedious. ?The real problems appear when your application supports subdomains like myaccount.myapp.com, which has been hard to do up until this point.

Enter Pow

Pow is a Rack server developed by the folks at 37Signals to help alleviate the pain of serving local Rails applications. ?Using Pow allows the developer to go from accessing their local Rails application using localhost:3000 to something like myrailsapp.dev. ?For example, my expense tracking software, Expens’d uses subdomains quite a bit, so we get URLs like rbazinet.expensd.com and when using Pow I can simply use the URL rbazinet.expensd.dev. ?This is perfect and simplifies the process.

Setting Up Pow for Serving Rails Applications

Installing Pow is pretty easy and shown on the Pow web site but for those not interested in heading over there you can open up a terminal session and enter the following:

$ curl get.pow.cx | sh

Each application has to have a symlink defined. ?The Pow web site says to:

$ cd ~/.pow$ ln -s /path/to/my/app

When I setup Expens’d to use Pow setting up the symlink this way didn’t work for me. ?I had to add the application name after the path, like this:

$ ln -s ~/rails_apps/expensd expensd

Since Expens’d is currently a Rails 2.3 application, a config.ru file is needed and placed in the application root folder. ?The file should contain the following:

# RAILS_ROOT/config.ru
require "config/environment"
use Rails::Rack::LogTailer
use Rails::Rack::Static
run ActionController::Dispatcher.new

If Expens’d was a Rails 3.x application, I would not have had to create the config.ru file.

Your mileage may vary. ?Once the symlink is done heading to the browser you can just enter the domain for the application with the .dev extension, like expensd.dev. ?This works just perfectly.

Restarting Your Application

One of the first things I wondered about when using Pow was a need to restart the “server” when I make changes to a routes.rb file. ?It turns out we treat this the same way we restart Passenger.

$ [APP_ROOT]/touch tmp/restart.txt

Log File Monitoring

Using Pow provides us with the typical development.log file in the [APP_ROOT]/log directory. ?Keeping an eye on the log can be done from a terminal window.

$ [APP_ROOT]/tail -f log/development.log

This provides ?a nice way to see what’s going on. ?There is also a raw log file produced from Pow that gives some additional details.

$ tail -f ~/Library/Logs/Pow/access.log

Potential Issue

When I setup Pow on my Mac Pro it all worked perfectly from the get-go but on my MacBook Pro I ran into a problem when I tried to browse a URL served by Pow such as expensd.dev. ?DNS seemed to think I wanted to go to the Internet to find the site and I received a 404 error when I tried. ? ?The problem was known and is outlined on Rob Conery’s site. ?The first part of the solution involved running the scutil to see if .dev resolver was being used:

$ scutil --dns

You should see a bunch of entries and one should look something like this:

resolver #8
  domain : dev
  nameserver[0] : 127.0.0.1
  port    : 20560

I don’t know if Pow uses the same port all the time, so that may change. ?The key here is the domain, indicating dev. ?If this resolver is missing the solution is pretty simple, open the file /etc/resolver/dev and simply save it. ?Worked like a charm for me. ?Run the scutil –dns command from above and see if the resolver is now listed.

A Better Pow?

I think Pow is pretty awe some just as it is but it seems someone has stepped up to make it even better with a gem named Powder. ?I haven’t had the chance to play around with this tool yet but a blog post by one of it’s creators says they wanted to make Pow “ridiculously easy”. ?The commands supported help make Pow that much easier:

$ powder applog
=> tail the log of the current app
$ powder config
=> Get Pow's current configuration information
$ powder list
=> List all the current apps linked in ~/.pow
# aliased as powder -l
$ powder log
=> Tails the pow log.
# Not the application log, but the pow log, available at
# ~/Library/Logs/Pow/apps/#{app-directory}.log
$ powder open
=> Opens the pow link in a browser
# aliased as powder -o
$ powder open bacon
=> Opens http://bacon.dev in a browser
# if you have set up alternative top level domains in .powconfig,
# then the first listed domain will be opened.
$ powder restart
=> Restart the current app
# aliased as powder -r
$ powder status
=> Get Pow's current status information
$ powder version
=> Returns the current powder version
# aliased as powder -v

More Than Rails Applications

Since Pow is serves up Rack apps the possibilities are pretty endless. ?I found one bit to share where someone is using Pow to serve his PHP apps, pretty clever. ?I would imagine this technique could be used in many applications like this.

Finally

The only thing I can say is I love Pow. ?It has made my life so much easier. ?Thank you 37Signals.

Share this:

  • LinkedIn
  • Twitter
  • Facebook
  • Email
  • More
  • Pinterest
  • Tumblr
  • Pocket
  • Reddit

June 14, 2011 Posted in Ruby on Rails Tagged With: pow, rails

RailsInstaller is Instant Rails Evolved

Tweet

Today the great team led by Wayne Sequin (rvm fame) and Luis Lavena (RubyInstaller fame)  and initiated by Dr. Nic Williams of Engine Yard released RailsInstaller.

In the Box

RailsInstaller is really what Instant Rails brought to Windows developers wanting to write Ruby and Ruby on Rails code, but now evolved.  RailsInstaller takes Ruby and Rails to their current versions and add some other niceties to give the Windows developer the ability to create real Rails applications today.  Included is:

  • Ruby 1.8.7-p330
  • Rails 3.0.3
  • Git 1.7.3.1
  • Sqlite 3.7.3
  • DevKit

I would expect that we would see a Ruby 1.9.2 at some point but imagine there must be some technical hurdles to get beyond before it makes sense to release.

Installation

Installation is a breeze by just following the simple installation wizard all Windows users know all about.   A nice video has been created to show how to install and get started:

The video is very clear and the installation wizard really simple, just follow the directions and keep the defaults for the best experience.

RailsInstaller1

The installer explains clearly what is being installed in this particular version.

RailsInstaller2

The default is to add to the PATH statement.  I would recommend keeping this so your system knows where to find all the needed executables.

RailsInstallerMenu

You should notice a nice shortcut to a Ruby and Rails prompt all setup to use.

RailsInstallerPrompt

The Ruby version as well as the Git version are cleanly shown.  You are good to go.

I was lucky enough to have a prerelease build of the tool and even in a prerelease state, they guys did a great job.  It was easy to create Rails apps and have them running in no time.  Keep in mind that not all Ruby gems will yet be compatible with Windows.  If you encounter issues you are best advised to contact the person in charge of the gem project you are trying to install.

I encourage everyone to who is interested in Rails on Windows in a clean package to download the installer now and give it a go.

Share this:

  • LinkedIn
  • Twitter
  • Facebook
  • Email
  • More
  • Pinterest
  • Tumblr
  • Pocket
  • Reddit

January 17, 2011 Posted in Ruby on Rails Tagged With: InstantRails, RailsInstaller, Ruby, Ruby on Rails

6 Great Ruby on Rails 3 Learning Resources

Tweet

Ruby on Rails 3 was released just a short time ago and is a fairly big changed to previous versions of the Rails framework.   People are starting to put together some great content to help developers come up-to-speed on Rails 3.

I began looking around for some Rails 3 content for my own use, even though I use a variety of beta books for the purpose, I found these resources really useful.  This brought me to the realization some readers may find value.

1. Ruby on Rails Tutorial by Michael Hartl

railstutorial_logoThis is such a great resource; offering a range of content that includes a Ruby on Rails Tutorial book as well as a set of videos with material from the book.  The book is available to read on-line, purchase as a PDF or the dead tree version available from Addison-Wesley.

The videos are a real sweet spot in my opinion, with 15 hrs of video training for $85.  Try to get 2-days of training from anyone at that price.

Table of Contents

  • Rails installation (OS X/Linux) (13m)
  • Git .bashrc lines
  • Rails installation (Windows) (8m)
  • Lesson 1: From zero to deploy (46m)
  • Lesson 2: A demo app (1h11m)
  • OS X testing setup (8m)
  • Lesson 3: Mostly static pages (57m)
  • Lesson 4: Rails-flavored Ruby (1h45m)
  • Lesson 5: Filling in the layout (1h10m)
  • Lesson 6: Modeling and viewing users, part I (1h30m)
  • Lesson 7: Modeling and viewing users, part II (1h40m)
  • Lesson 8: Sign up (1h22m)
  • Lesson 9: Sign in, sign out (1h36m)
  • Lesson 10: Updating, showing, and deleting users (2h25m)
  • Lesson 11: User microposts (2h03m)
  • Lesson 12: Following users (2h19m)

I have gone through both the book, Rails 3 version, and the screencasts looking for nuggets of information I may not be aware of in Rails 3.  The screen casts are presented in a such a well-thought-out manner that makes them easy to follow and will not put you to sleep.

Michael covers a lot of great basic topics but also includes specific coverage of such things as setting up and using Devise for authentication.  He also covers Test-Driven Development (TDD) very well using RSpec.  There are a lot of how-to tips with TDD alone to save you hours.

2. PeepCode: Meet Rails 3 Part 01

meet-rails-3-iI always love the content put out by PeepCode and Geoffrey Grosenbach and his recent Meet Rails 3 Part 01 was no exception.

This screen cast covers the beginning aspects of getting into Rails development both on Mac and Windows.  I was pleasantly surprised to see my blog post Running Rails 3 on Windows was used as a reference for users to setup and use Rails 3 on Windows.

PeepCode has been providing screencasts for a long time and is likely to the first to offer those covering Ruby on Rails.

3. Dive into Rails 3 Screencasts

Episode1The Dive into Rails 3 screencasts put out by Gregg Pollack were probably the first series focused on Rails 3 right around the time Rails 3 was released.

Gregg covers many of the hot topics emerging in Rails 3 today:

  • Getting Started & Action Dispatch
  • Bundler & Action Mailer
  • Active Relation & Active Model
  • Cross-site scripting & Unobtrusive JS
  • The New Action Controller

These are screencasts talk about what is new in Rails 3, so some knowledge of Rails 2.x would be helpful to get the most out of these.

4.  RailsCasts

railscasts_logoRyan Bates has been making the weekly release of a RailsCast what seems like forever now.  Currently there are 240 episodes up on the site, and by my precise calculations..that?s around 4 1/2 years of  great content.  Most episodes range between 10 and 15 minutes of focused content on a particular topic.

At last count Ryan had 25 screen casts covering different aspects of Rails 3 from the basics to new validations to implementing Devise.  These episodes are laser focused to they are best used with some prior knowledge first, possibly go through the Tekpub or RailsTutorial first.

5. TekPub Rails 3 Series

tekpub_logo_smThe Rails 3 series from TekPub currently has 6 episodes running 5+ hours.  The typical series from TekPub is one that starts off with a single episode with more added over a few weeks.

I have been a Tekpub subscriber since it first opened in October 2009 and love the format of their training.

This series is promoted as:

In this series Rob Conery shows you Rails 3 and the core concepts involved. The focus of this series is a bit more practical than theoretical – with the goal of showing you not only Rails, but many of the tools to help you get your site up and running quickly and effectively.

Rob has a been doing screencasts for a long time and has really honed his voice to be the soothing voice you hear on each episode.  Each episode is on a different topic and covers it very well in the 1 hour dedicated.  As I write this, Rob has 6 episodes:

  1. Why You Should Care About Rails 3
  2. Rack
  3. Controller Fundamentals
  4. Controller Deep Dive
  5. View Concepts
  6. Model Concepts

6. Rails 3 Upgrade Handbook

rails-3-upgrade-handbook-pdf

Long-time Ruby and Rails community member Jeremy McAnally has written up this great handbook on how to take your pre-Rails 3 application into the Rails 3 world.

So many projects exist out in the wild that his handbook is invaluable.

Unlike the other resources I have listed, this is not a screencast but is available as an ebook.   I felt is was just such a great resource for Rails 3 and it tied in so well with coming up-to-speed on Rails 3 and the likelihood you might be upgrading a Rails 2.x application to the latest.

The guide is a beauty, it really covers the pain points a developer will face when upgrading their application to Rails 3 and shows how to get around them.  He includes use of his gem to help with the process as well as checklists for deprecations and the upgrade process itself.

Moving your application to Rails 3?  You need this guide.

Share this:

  • LinkedIn
  • Twitter
  • Facebook
  • Email
  • More
  • Pinterest
  • Tumblr
  • Pocket
  • Reddit

November 15, 2010 Posted in Ruby on Rails Tagged With: PeepCode, Rails3, RailsCasts, Ruby on Rails

« Previous Page
Next Page »

Popular Posts

  • 10 Alternative Ruby Web Frameworks
  • 7 Resources Every JavaScript Developer Should Know
  • Setting up SQLite3 for Ruby on Rails Development
  • Running Rails 3 on Windows
Micro.blog

Categories

Subscribe to Blog via Email

Enter your email address to subscribe to this blog and receive notifications of new posts by email.

Latest Tweets

  • RT @amyhoy: coding isn't about WRITING LINES OF CODE. it's about building a model of the problem domain, holding it in your h… https://t.co/zHJKYvQDTk

    1 day ago
  • RT @tcollen: I'm still on the hunt for my next gig. 12 years of Ruby/Rails experience, I'm looking for a tech lead role on a pro… https://t.co/jM1CNVTs8y

    4 days ago
  • Don’t feel like an expert? Share anyway. – Sara Wachter-Boettcher – Medium https://t.co/rI2ijCmAdp

    6 days ago
  • I’ve been doing this for years, I highly recommend it - Why You Need a “Deloading” Phase in Life https://t.co/l3CjRav0J9

    6 days ago
  • RT @patio11: Rates exert gravity. If you charge more, you’ll spend your time talking to more sophisticated clients, working in… https://t.co/0ninIE7N3m

    6 days ago

Tags

Agile amazon Android Apple App Store ASP.NET MVC book bootstrapping Business conference Customer Service Droid X email entrepreneurship functional programming Google InfoQ InstantRails iOS iPad iPhone JavaScript mac microconf Microsoft mixergy mobile objective-c Open Source podcast rails Rails3 railsconf RSS Ruby Ruby on Rails scala sinatra Software swift twitter Windows WordPress WPEngine xcode

Meta

  • Log in
  • Entries RSS
  • Comments RSS
  • WordPress.org

Copyright © 2019 · Genesis Minimal Notebook on Genesis Framework · WordPress · Log in

loading Cancel
Post was not sent - check your email addresses!
Email check failed, please try again
Sorry, your blog cannot share posts by email.