A really great and well-done conf’ video about Ruby On Rails and why this framework is the best choice.
http://www.railsenvy.com/2007/3/22/ruby-on-rails-video-presentation
Stand up and smile guys ! You are coding with RoR ! 🙂
A really great and well-done conf’ video about Ruby On Rails and why this framework is the best choice.
http://www.railsenvy.com/2007/3/22/ruby-on-rails-video-presentation
Stand up and smile guys ! You are coding with RoR ! 🙂
Excellent tutorial on how to DRY views in Ruby On Rails.
Developers tend to spend a lot of time refactoring their controllers and helpers, but once they get to the views (rhtml), more often than not, the DRY (Don’t Repeat Yourself) hat just disappears. This is not surprising, HTML markup by its very nature predisposes you to repetition of structural tags. However, in certain situations, a little Ruby magic can go a long way. Namely, you should get into the habit of creating block helpers to DRY up your views. Let’s take a look at the often (ab)used case of rounded corners.
…… follow the source to read more !
Finally a great IDE to develop with Ruby On Rails : reformating, code completion, direct access to object definition and source, etc.
Ok, Rails c’est super cool et tellement puissant que l’IDE est de moindre importance que pour d’autres languages. Mais malgrĂ© tout, je suis sĂ»r que ça vous manquait de ne pas pouvoir aller d’un click sur le corps d’une mĂ©thode (surtout d’une API tierce), de re-formater votre code afin qu’il reste Ă la fois beau et synchronisĂ© sur les CVS/SVN…
Et bien Sun Microsystem viens de donner un coup de pied dans la fourmilière:
regarder ces démos (surtout la 2) pour preuve:
http://blogs.sun.com/roumen/entry/two_demos_jruby_on_railsVoilà tout est là : télécharger Netbeans 6 milestone 7 ici:
http://nbi.netbeans.org/m11/download.htmlpuis installer le plugin Ruby avec Module manager de Netbeans:
Tools > Update Center > Check the web for available modules > Next puis taper ‘r’ pour trouver Ruby dans la liste des modules Ă tĂ©lĂ©charger.Ensuite après avoir redĂ©marrĂ© Netbeans, on peut crĂ©er un nouveau projet Rails ou encore le crĂ©er Ă partir d’un dossier source existant.
Voilà , ça ressemble à RadRails, mais:
* si on fait CTRL+click sur une méthode, on va à sa définition,
* si on fait CTRL+espace dans le code, on a l’auto-complĂ©tion,
* on peut reformatter le code Ruby;
* on peut apparemment refactorer du code,
* si on sélectionne une variable on voit ses occurrences dans le fichier,
* on peut aussi tourver les références dans le projet entier
* on Ă l’aide RDoc dispo avec l’auto-complĂ©tion
* on peut lancer son serveur/navigateur avec F6MoralitĂ©, Ă ma connaissance aucun des IDE Rails que j’ai pu tester ne proposait tout cela (ni Textmate, ni Radrails, ni Emacs + plugin Rails, ni JEdit + plugin Rails, ni Scite)
Enfin, notĂ© que JRuby pourrait bientĂ´t Ă©galement ĂŞtre une excellente implĂ©mentation de Ruby pour Rails; En effet, le tout rĂ©cent JRuby 0.9.8 pass plus de 98% des tests de non rĂ©gression de Rails. C’est un peu plus lent que Ruby MRI (mais plus tant que ça) et surtout les dĂ©veloppeurs travaillent très dur Ă la compilation Just In Time par la JVM Hotspot du code Ruby. D’ici quelques mois JRuby sera plus radide que MRI Ruby dans l’essentiel des benchs.
PS: troubleshooting: si Netbeans ne s’ouvre pas sur votre distro Linux avec Desktop 3D Beryl il suffit d’ajouter ces lignes dans votre fichier /etc/environment (puis redĂ©marrer votre session et Netbeans):
AWT_TOOLKIT="MToolkit"
export _JAVA_OPTIONS="-Dswing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAnd$
If you want to use Captcha gem and got this error :
Soluce : sudo apt-get install libopenssl-rubyMissingSourceFile
no such file to load -- openssl/usr/lib/ruby/gems/1.8/gems/activesupport-1.3.1/lib/active_support/dependencies.rb:147:in `require' /usr/lib/ruby/gems/1.8/gems/captcha-0.1.2/lib/captcha.rb:21
In a general way, you need to install these packages to get captcah fully functionnal :
libopenssl-ruby libgd-ruby1.8
Vu sur simpleentrepreneur.com
Pour synthétiser, Getting Real c’est :
Ca va venir :
http://hog.radrails.org/radrails/tickets/show/344
http://21croissants.radrails.org/
http://eigenclass.org/hiki.rb?rcodetools
To be updated !
Par défaut, le mélange de ces 3 ingrédients ne fonctionne pas sous Rails.
La solution est lĂ :
I dove into RoR Pagination yesterday (ActionController::Pagination), and while it’s great for paginating all data in a model, it really sucks for paginating data from an activerecord association (and by really sucks I mean doesn’t support).
Here’s the problem. Say I have a user who has a collection of photos:
class User < ActiveRecord::Base has_many :photos, :conditions => 'photos.is_deleted = false', :order => 'photos.created_at DESC' end
I want to have the ability to feed the user’s photos to the paginator. Unfortunately, the
paginate
function simply takes a collection id, and will not accept a set of data (an association, in this case). So, if I want to paginate photos on a user, I have to do this:@photo_pages, @photos = paginate :photos, :conditions => ["photos.user_id=? AND is_deleted = false", @user.id], :order => "photos.created_at DESC"
What a mess. Now i’ve lost the benefits of my association, since I have to define the association as part of the pagination rules. Very suprised Rails handles things this way, as it seems to violate the basic DRY principles. Anyways, I only had to write code like this a few times to realize how much of a pain in the ass it is, and I created a “paginate_association” method to help me out.
def paginate_association(object, assoc_name, find_options = {}, per_page = 10) page = (params[:page] || 1).to_i item_count = object.send(assoc_name.to_s + '_count') offset = (page-1)*per_page @items = object.send(assoc_name).find(:all, {:offset => offset, :limit => per_page}.merge(find_options)) @item_pages = Paginator.new self, item_count, per_page, page return @item_pages, @items end
I added this to my ApplicationController (application.rb), and now I can paginate assocations til the cows come home.
@photo_pages, @photos = paginate_association @user, :photos, :order => 'created_at'
This helper uses the Rails Pagination stuff, so you can easily use
paginate
orpaginate_association
with the same view. Great!You can also pass additional “find” arguments, such as
:order, :include, :join
, etc…Hopefully this is as useful for you as it’s been for me!
Une très bonne présentation sur le langage Ruby, facile à lire, je recommande chaudement (que vous soyez programmeur Java ou pas), ça met les choses au clair dès le début.
Très bien réalisé, couvre bien le sujet : http://www.io.com/~jimm/writing/rails_ctoclub/s5/index.html
Deux interviews qui achèveront de vous convaincre de l’efficacitĂ© et de l’utilitĂ© de RoR :
Yann Klis (Novelys) : “Dans quelques annĂ©es, Ruby ne sera plus un langage alternatif”
Fondateur d’une société plaçant tous ses projets sous les auspices des langages Ruby et Python, Yann Klis rejette la lourdeur de langages comme Java ou C#, et nous explique pourquoi. (02/02/2006)
Article sur la scalabilité et la montée en charge des sites RoR :
http://poocs.net/2006/3/13/the-adventures-of-scaling-stage-1