more info

Media72 Hosting Articles and Tips

Apple providing ruby (and rails) labs sessions

May 16th, 2008

It’s great to see Apple supporting and promoting both Ruby and Rails. At their upcoming WWDC08 conference they have a Ruby on Rails Labs session on Wednesday morning and a RubyCocoa Labs session on Friday afternoon.

No help for us in the UK but nice to see all the same.

Javascript auto include rails plugin

May 13th, 2008

This plugin has been updated to include additional functionality.

We are very pleased to announce the javascript_auto_include plugin for ruby on rails written by our very own Jamie Dyer. This plugin automatically includes javascript code that is specific to a single view or controller which means you don’t have to pass anything to your template telling it which javascript files are needed for each page.

Working with unobtrusive javascript in Rails can be somewhat difficult. While Rails default javascript helpers are easy to use they produce javascript that is not unobtrusive.

When writing unobtrusive javascript in Rails it’s often necessary to include a javascript file that will be used by a single view or controller. This can become problematic, messy and very un-Rails like if not managed well.

With the Rails philosophy “convention over configuration” in mind I decided to create a plugin to automatically including javascript files that correspond to the view or controller name mirroring the view structure within the javascripts folder. The javascript_auto_include plugin is born and is probably among the smallest Rails plugins available, aren’t all the best plugins tiny?

To use the javascript_auto_include firstly install the plugin:


script/plugin install http://kernowsoul.com/svn/plugins/javascript_auto_include

Or if you run EDGE rails or rails 2.1 and above:


script/plugin install git://github.com/kernow/javascript_auto_include.git

The plugin will create the directory “views” within your javascripts directory in which you can place javascript files for auto inclusion. Using javascript_auto_include is simple, in the layout file add < %= javascript_auto_include_tags %> to the header.

There are two types of javascript includes, view specific, and controller specific. The first is achieved by creating a folder with the same name as a controller, inside this create a javascript file with the same name as a view. The second type, controller specific, are simply files inside the views folder with the same name as the controller. For example:


/public
  /javascripts
    /views
      articles.js # will be included in all views of the articles controller
      /users
        new.js # will be included in the new view of the users controller

The plugin will also include both controller and view specific javascript at the same time, in this example both users.js and new.js will be included when the new view is loaded.


/public
  /javascripts
    /views
      users.js
      /users
        new.js

If you have any comments or suggestions for improvements we would love to hear them. I may add a generator to make adding new javascript files easy.

New mod_rails hosting packages available today

May 1st, 2008

Media72 are pleased to announce the immediate availability of mod_rails driven Ruby on Rails hosting packages. Mod_rails, or Phusion Passenger as it is also known, has been gaining a lot of attention recently, and rightly so. It’s a huge step forward for the Rails hosting community in terms of application deployment and management. Many big names in the industry such as David Heinemeier Hansson and Yukihiro Matsumoto (Matz) already have good things to say about mod_rails.

Mod_rails vastly simplifies Ruby on Rails deployment, no longer will you have to mess around with .htaccess files or deal with fastcgi fickleness. Deployment can be as simple as uploading your rails application then loading it in your browser. And restarting your application is achieved by simply creating a text file called restart.txt in your rails tmp directory, what could be more simple?

Our customers are already enjoying the benefits of mod_rails and we are one of the only hosts in the UK to offer support for mod_rails at this time. All of our rails accounts are hosted in our well connected London data centre which means fantastic speeds around Europe. Using Media72 you will also enjoy better search engine rankings with the UK engines when compared to hosting elsewhere.

Why not take a look at our comprehensive range of mod_rails based packages? Prices start from only £7 a month.

Rails versions available on all servers

April 19th, 2008

It has come to our attention that many users have not been receiving system update notifications via email due to spam filters of incorrect email addresses in our system. We will now be publishing all update notifications to our blog, as well as to all affected users via their primary contact email. What follows is a repost of the details sent out to customers last week:

As of today, all severs now only have versions 2.0.2, 2.0.1, 1.2.6, and 1.1.6 or the rails gem installed. Please update any rails applications you have to use these versions only. To update the version of rails you are using edit your config/environment.rb file and set the RAILS_GEM_VERSION to one of the installed versions.

Our rails version policy is to keep most new versions of rails installed, unless a security hole or performance issue has been identified, and two old major versions. For instance, at this time we have two flavours of 2.x and the two most up-do-date old versions, 1.2.6 and 1.1.6.

When the next major version of rails is release, e.g. 2.1 or above, we will send out notifications and remove version 1.1.6. We will be keeping rails version 1.2.6 for some time to support legacy customers as the upgrade from 1.x to 2.x can require some amount of work.

The Media72 Team

bingo server downtime [resolved]

April 18th, 2008

We are experiencing issues with the bingo server currently. Some websites will display a permission denied error when loading. We are working to fix the issue and hope to have service back to normal shortly and will update this post when the issue has been resolved. Thank you for your patience.

update: This issue has now been resolved

The Media72 Team

Learning Ruby on Rails Fundamentals Without Reading

January 9th, 2008

For all those people, like me, who would rather listen or watch something than read there is now the perfect way to learn Ruby on Rails. Building Web Apps has a new podcast called Learning Rails by Michael Slater and Chris Haupt. It starts at the very beginning teaching you the most basic things about Rails so is perfect for anyone that has no prior Rails experience.

They have only got to episode 4 so far but I would assume they will keep going and progress to more advanced topics as time goes on, they say there will be a new episode every 2 weeks. The podcast focuses on the concepts behind Ruby on Rails rather than trying to tech coding. I highly recommend the podcast to anyone new to rails.

6 things to try in Rails this year

January 9th, 2008

It seems that blog posts in the first couple of weeks of the new year (happy new year by the way) follow the “x things to do this year” meme as a virtual homage to new years resolutions. Never one to buck a trend, I have prepared this short list of things you should try in Ruby and in Rails – I hope to cover each topic in more detail over the next couple of weeks.

  1. Install Rails: This is aimed at those of you out there that haven’t tried Ruby on Rails yet. Jump in – have a go, there are plenty of resources out there, and it is fairly easy to install regardless of your platform
  2. Upgrade to Rails 2.0: I have covered what’s new in Rails 2.0 in a number of my previous posts, and upgrading isn’t really THAT difficult if you follow the steps and fix any deprecation notices.
  3. Write a plugin: Plugins allow you to re-use common patterns without having to resort to the dreaded cut-and-paste keys. Rails has a built in plugin generator that gives you the skeleton code, all you need to do is to mix-in the right modules – oh, and write the code…
  4. Try out RESTful routes: RESTful Rails have been around for a while now, but many of the tutorials around the net are still CRUD based, so if you are a Rails beginner, you might not have tried them out yet.
  5. Use Ruby as your scripting language: Because Rails does such an excellent job of doing the hard work, it is very likely that you have never had to manually connect to a database or read the contents of a directory or performed other mundane tasks in Ruby. If you have to do any scripting, instead of PERL or Python, use Ruby – it will help you better understand the nuances of the language.
  6. Refactor your code the Ruby way: If you have come from other C-like languages (such as PHP or Java) you would
    be used to the idioms from that style of coding. Try refactoring your code to use blocks instead of for loops, or using inline if statements – you can squeeze a lot into one line in Ruby, see how far you can push it. Again, this is a great exercise to learn the language.

Go on, try them out – the new year is a great time to try something new!

This article provided by sitepoint.com.


Flexible Fixtures in Rails 2

December 12th, 2007

As Matt Magain pointed out yesterday, Rails 2.0 is now gold! Not a lot has changed feature wise from the PR (makes sense – features were frozen at that point), although it seems that the new improvements to fixtures managed to slip in to the final version.

Rather than having to map foreign keys in your fixtures using id numbers, you can use fixture names, which makes life a whole lot easier. So you can now write:

users.yml

joe_blogs:
  id: 1
  first_name: Joe
  last_name: Blogs
mary_smith:
  id: 2
  first_name: Mary
  last_name: Smith


websites.yml

website_1
  id: 1
  user: joe_blogs
  url: "http://www.joeblogs.com"

website_2
  id: 2
  user: mary_smith
  url: "http://mary.smith.id.au"

which obviously makes a lot more sense to a human reading it, especially when you have a large number of fixtures across many models.

Let me join Matt in congratulating the Rails core dev team for achieving this milestone – roll on Rails 3!

This article provided by sitepoint.com.


 

hedges