RSS
 

Posts Tagged ‘Ruby on Rails’

RailsConf 2010 – The Ruby on Rails Community

12 Jun

I just returned from Baltimore, home of RailsConf 2010. It was my first ever conference (Rails or otherwise), and it was an incredible experience thanks to the amazing community and the many takeaways.

The RoR community

The Ruby on Rails community has a wealth of friendly, generous and hospitable people from all over the world: San Francisco, Portland, Seattle, Vancouver, Winnipeg, Chicago, South Bend, Philadelphia, New York, Baltimore, Richmond, North Carolina, Florida, the UK, Denmark, Kenya, Australia, and Uruguay. The Ruby community in Baltimore is filled with the friendliest guys, and they showed all of us a great time at the local pubs.

I had a lot of opportunities to mingle with other Rail developers over the 4-day conference. I met people from Github, Heroku, Engine Yard, New Relic, sort of talked to DHH for second, had a great short conversation with Derek Sivers, and met Ryan Bates, John Nunemaker and Chris Wanstrath. I can tell you they were modest, real, genuine people with tremendous spirit for the community.

What I learned

Along with the regular sessions, I attended the Rails 3 Ropes Course and Mobile App Development with iPhone/iPad and Rails tutorials, and I learned some interesting ideas for continuous production integration with Cucumber that are centered around DevOps. There are some exciting things coming from Rails these days. Rails3 is in beta4, very close to RC1, and it has so many excellent updates. I will go over my notes on those in an upcoming post.

Alongside RailsConf was BohConf: a local un-conference in one of the rooms at RailsConf. Everyone at RailsConf had access to BohConf. It was a hacking room, with regular paired programming exercises and general “anything-goes” tables where people could work together or alone on any project or idea. I sat in on one of the exercises alongside my new friend Robert, and we learned faster testing and development practices when thinking about how to fulfill business rules. I also spent a little bit of time starting my first real iPhone app, and I’ll be posting updates as I push forward on that work.

The big lesson

One of the most important things I learned at RailsConf is that no one is particularly special or gifted. The people who contribute heavily to the community are those who work hard and deserve the status they earned among the rest of us. But there is no reason for the rest of us not to contribute back, not to work just as hard; and there’s no reason we couldn’t. These guys weren’t looking for attention, they had real problems to solve and then shared the fruits with us.

Hard work, kindness, fun, friendliness, generosity, hospitality, common sense, contribution, value, ideas, knowledge, helpfulness—these traits are commonplace among the developers in the Ruby on Rails community. It’s now my goal to facilitate the influence of the RailsConf goers everywhere I go because while I traveled to the conference alone, I stayed among friends.

 
 

Unobtrusive jQuery in Rails 3

25 May

Here’s an article showing how mind-blowingly simple it will be to use jQuery and unobtrusive javascript in Rails 3.

I’m seriously a fan of Rails’ dedication to HTML5 advocacy. I’m excited about all that’s coming in web development this year.

 
 

Online Photo Gallery, Payment & Order Fulfillment: Ruby on Rails Tutorial

18 Sep

This post is a follow-up to the post on my personal blog, titled “Ruby on Rails Photo Gallery & Shopping Cart with RESTful Authentication” In that article, I merely showed off what I’d done with Ruby on Rails, but I didn’t show anyone how. Well, I’ve gotten some comments from people asking me to show them how to build it.

That’s what this post is for.

So on to the nitty gritty details.

Start with the RESTful Authentication Tutorial:

Follow the README to install, but READ THIS FIRST to fix the ExceptionLogger error Then follow these instructions to fix the OpenID plugin error Make sure you get your recaptcha keys for the config.yml, otherwise failed login attempts will bust your application. Fill out the config & database.yml files accordingly, run your database create & migrate rakes, fire up the server and make sure it looks good. Cool? Let’s move on: Define the objects Let’s begin by pointing out what, exactly, we’ll be building this application around: Galleries of Photos that Customers can order with a private Account provided to them by an Admin who can manage the galleries and review the Orders, which are also available to their respective customers. I will go through how to set up the following models like so:

  • Galleries
    • has_many :photos
    • belongs_to :customer
    • title
    • acts_as_urlnameable (pretty URLs)
  • Photos
    • belongs_to :gallery
    • paperclip attachment: image
  • Customers
    • username, password, full name
  • Orders
    • has_many :line_items
    • belongs_to :customer
  • Line Items
    • belongs_to :o rder
    • quantity, size, price

So let’s build the Galleries first:

Then edit the Gallery model:

That’ll be fine for now. Let’s add the Photos model with paperclip image attached:

Now edit the Photo model as such:

You should read all about the paperclip gem if you need more info on this model. Basically, we’re telling it to allow image attachments to the Photo model. Customers can be the RESTful Authentication Tutorial User model, just need to add a couple things here:

Let’s worry about Orders and Line Items later. We’ll have to add a cart, too. I’ll cover it, but it is all derived from Agile Web Development with Ruby on Rails Third Edition

Run your rake db:migrate and confirm all is well. Delete the Galleries layout file so it uses the application layout.

Let’s go see http://localhost:3000/galleries and play around. Add a gallery and then go to edit it. This is where we’ll add SWFUpload. Follow Jim Neath’s advice for this.

You’ll want a photos controller:

The create method I use is:

I had no luck getting Jim Neath’s session fix working, so I put skip_before_filter :verify_authenticity_token in the Photos Controller. Bad? Yea, probably. I haven’t found a better way yet.

Add this code to app/views/galleries/edit.html.erb:

Which leads you to add the following partial: app/views/photos/_image.html.erb

We’ll worry about the destroy link later, let’s integrate swfupload. Download the latest copy of SWFUpload. Copy flash/swfupload.swf to public/flash (make directory first). Copy swfupload.js & upload.js (in Jim Neath’s demo app) to public/javascripts. Copy Jim Neath’s swfupload.css file to public/stylesheets. Copy Jim Neath’s images/icons folder to public/images.

Add this code to app/views/galleries/edit.html.erb:

Yep, a lot is going on there. Reload your galleries/edit page and see if it’s still working :)

Ok, so this gets you to a functioning online photo gallery. Up next will be adding user accounts, a shopping cart, ordering options, customers & paypal integration. Stay tuned!

For now, please find the source here: http://github.com/joemsak/proofs_package

And for help on your project, visit us at http://www.simplifyadvance.com