Vous reprendrez bien un peu de sucre?
Liste non exhaustive de quelques pépites trouvées dans les changelogs de Rails 1.2.
- ActiveRecord.find() accepte le passage des conditions par table de hashage (avec support de nil et Array)
Post.find(:all, :conditions => { :topic_id => [1, 2, 3], :last_read => nil } # => SELECT * FROM posts WHERE topic_id in (1,2,3) AND last_read IS NULL
- has_many :through supporte <<
class Post < ActiveRecord::Base has_many :taggings has_many :tags, :through => :taggings end post.tags << Tag.find_by_name('old') post.tags.create! :name => ‘general’
- validates_uniqueness_of peut tester la casse ou pas.
class Account < ActiveRecord::Base validates_uniqueness_of :email, :case_sensitive => false end
- Tester l’existence d’un enregistrement dans un modèle avec ActiveRecord::Base.exist?()
Post.exists? 1 Post.exists? :topic_id => 3 Post.exists? "topic_id = 1""
- Obtenir une date/heure au format SQL (courtesy of Bruce Williams)
2.weeks.from_now.to_s(:db) # => "2007-02-13 21:46:28"
- Utilisation de link_to_function() avec un bloc pour avoir du Javascript sans en écrire une seule ligne
link_to_function("Hider", :class => "hider_link") { |p| p[:something].hide }
- assert_select fait maintenant partie de ActionPack et remplace avantageusement assert_tag. En plus il permet de tester les RJS via assert_select_rjs.
- Ajout de la méthode sum() au module Enumerable
payments.sum(&:price) # au lieu payments.inject{ |sum,p| sum + p.price} payments.sum { |p| p.price * p.tax_rate } [1, 2, 3].sum # => 6
- assert_response comprend les status codes symbolisés
assert_response :not_found # au lieu de assert_response 404
- Instances app et helper accessibles depuis la console
$ script/console Loading development environment. >> app.get "/posts/1" => 200 >> helper.options_for_select([%w(a 1), %w(b 2), %w(c 3)]) => "<option value=\"1\">a</option>n<option value=\"2\">b</option>n<option value=\"3\">c</option>"
Rétroliens
Utilise ce lien depuis ton site.
Commentaires
Tu dois être logué pour laisser une réponse.