Articles

Defining methods in Ruby

1 – Hashes in method calls

You must have seen this syntax in Rails a lot, for example when using this Paperclip plugin, you would put this in your model:

Using Java libraries from Clojure

After reading Scripting Java Libraries With Ruby on the Engine Yard

undefined-method-stringify-keys - Replace ` with

If you are getting an `undefined method stringify_keys! for String` it is because you're passing a String to an ActiveRecord method that requires a hash. The common way of encountering this is having a form like this:

<% form_for @message do |f| %>
<%= text_field_tag "message" %>
<%= f.submit %>
<% end %>

Ruby5: A Twice-Weekly 5 Minute Ruby News Podcast

ruby5-itunes-logo.pngRuby5 is a new twice weekly podcast dedicated to Ruby and Rails news. It's headed by Gregg Pollack (formerly of the RailsEnvy podcast which Jason Seifer has now taken over) and Nathan Bibler. They aim to cover several bits of Ruby and Rails news in five minutes.

Table Aliasing e Legacy Naming - creata

Supponiamo di avere il modello User nella nostra applicazione Rails; di default Rails suppone che ci sia una tabella chiamata “users”.

class User < ActiveRecord::Base
end

Sfortunatamente (nel nostro esempio), le informazioni degli user sono contenute in un legacy database su una tabella chiamata USER_DATA_TBL05 (brrr, che orrore). Non si può cambiare il nome della tabella per far felice Rails perchè il sistema legacy dell'azienda che usa quella tabella non funzionerebbe più.

Eager loading - creata

Limitare il numero di di query SQL è uno dei modi migliori per migliorare la performance di un'applicazione Rails, e l'eager loading è probabilmente il modo migliore per farlo.

Il problema

Supponiamo di trovarci nella seguente situazione molto comune: si ha bisogno di un'applicazione Rails con il model Person. Ogni persona ha più amici (has_many...friends). Cosa si deve fare per trovare gli amici di una persona?

Rails 2.3.4 is out, security vulnerabilities fixed

Rails 2.3.4 is out, just a few weeks after the 2.3.3. There are no new features, the reason for this quick release are the 2 vulnerabilities found in the Rails code (one is a possible XSS epxloit and the other is a cookie hack. The release notes state that over 100 small bugs were fixed as well.

Polymorphic Relationships - creata

Polymorphic Relationships

Le Polymorphic relationships permettono di avere un singolo modello associato a un numero arbitrario di altri modelli.

Esempio

Ad esempio, supponiamo di avere un database di contatti che utilizza due modelli, Person e Company. Entrambi Persons e companies hanno degli indirizzi che si vogliono conservare nel database, e si vuole poter interrogare tutti gli indirizzi in un colpo solo (tipo per una ricerca basata su un luogo).

Database Relationships

Con Ruby on Rails le relazioni tra le tabelle si dichiarano nel modello ActiveRecord. Con l'aiuto di Ruby on Rails, l'interprete Ruby usa quelle informazioni per interagire magicamente con record particolari.

Ci sono diverse opzioni per dichiarare le relazioni tra le quali:

Principi di base di Ruby on Rails

Principi di base di Ruby on Rails

Convenzioni piuttosto che configurazioni

Rails fornisce delle impostazioni predefinite per ogni aspetto riguardante lo sviluppo di un'applicazione web. Seguendo tali convenzioni puoi realizzare un'applicazione Rails, scrivendo molto meno codice rispetto a molti altri framework per applicativi web. Se hai bisogno di bypassare le convenzioni, con Rails puoi farlo ed è pure molto semplice.

railsnotes | Rails Fire

railsnotes

Send to friend

A code-heavy brain dump of stuff I come across working on Ruby on Rails projects including Models, ActiveRecord, Views, Controllers, RESTful rails, deployment, server stuff, etc.