Articles of ruby

Rails params explicó?

¿Alguien podría explicar los params en el controlador de Rails: de dónde vienen y a qué se refieren? def create @vote = Vote.new(params[:vote]) item = params[:vote][:item_id] uid = params[:vote][:user_id] @extant = Vote.find(:last, :conditions => [“item_id = ? AND user_id = ?”, item, uid]) last_vote_time = @extant.created_at unless @extant.blank? curr_time = Time.now end Me gustaría poder […]

¿Dónde y cómo se especifica la variable _ (guión bajo)?

La mayoría conoce el significado especial de IRB como titular del último valor de retorno, pero eso no es lo que estoy preguntando aquí. En cambio, estoy preguntando por _ cuando se usa como nombre de variable en el código antiguo de Ruby. Aquí parece tener un comportamiento especial, similar a una variable “no importa” […]

Cuándo usar lambda, cuándo usar Proc.new?

En Ruby 1.8, hay diferencias sutiles entre proc / lambda, por un lado, y Proc.new por el otro. ¿Cuáles son esas diferencias? ¿Puede dar pautas sobre cómo decidir cuál elegir? En Ruby 1.9, proc y lambda son diferentes. ¿Cual es el trato?

Bloque de Ruby y argumentos sin apariencia

Extraje un simple ejemplo: require ‘pp’ x = 1..3 pp x.map do |i| {:value => i, :double => (i*2)} end pp x.map { |i| {:value => i, :double => (i*2)} } pp(x.map do |i| {:value => i, :double => (i*2)} end) pp(x.map { |i| {:value => i, :double => (i*2)} }) Me pregunto por qué […]

¿Cuál es la forma más fácil de duplicar un registro de registro activo?

Quiero hacer una copia de un registro de registro activo, cambiando un solo campo en el proceso (además del ID ). ¿Cuál es la forma más simple de lograr esto? Me di cuenta de que podía crear un nuevo registro y luego iterar sobre cada uno de los campos copiando los datos campo por campo, […]

ruby floating floating errors

¿Puede alguien explicar por qué multiplicar por 100 aquí da un resultado menos preciso pero multiplicar por 10 dos veces da un resultado más preciso? ± % sc Loading development environment (Rails 3.0.1) >> 129.95 * 100 12994.999999999998 >> 129.95*10 1299.5 >> 129.95*10*10 12995.0

Advertencia IRB de Ruby 2.0.0p0: “DL está en desuso, usa Fiddle”

Acabo de desinstalar mis versiones anteriores de Ruby, eliminé todas mis gems (incluido Rails) e instalé Ruby 2.0. En otras palabras, una reinstalación totalmente limpia. Al iniciar el IRB, recibí este mensaje: DL está en desuso, por favor use Fiddle Nota: estoy en una máquina con Windows. ¿Qué significa este mensaje?

do … end vs llaves para bloques en Ruby

Tengo un compañero de trabajo que está tratando activamente de convencerme de que no debería usar do..end y en su lugar usar llaves para definir lockings multilínea en Ruby. Estoy firmemente en el campo de usar solo llaves para frases cortas y hacer … para todo lo demás. Pero pensé que me acercaría a la […]

ActiveRecord: tamaño contra recuento

En Rails, puede encontrar la cantidad de registros usando Model.size y Model.count . Si se trata de consultas más complejas, ¿hay alguna ventaja al usar un método sobre el otro? ¿En qué se diferencian? Por ejemplo, tengo usuarios con fotos. Si quiero mostrar una tabla de usuarios y cuántas fotos tienen, ¿se ejecutarán muchas instancias […]

Cómo entender los símbolos en Ruby

A pesar de leer ” Understanding Ruby Symbols “, todavía estoy confundido por la representación de los datos en la memoria cuando se trata de usar símbolos. Si existe un símbolo, dos de ellos contenidos en objetos diferentes, en la misma ubicación de memoria, ¿cómo es que contienen valores diferentes ? Esperaba que la misma […]