rifas resultado programa para online numeros lista info hacer grupos generar generador cadenas azar aplicacion aleatorios alazar ruby-on-rails random view controller

ruby-on-rails - resultado - random programa



Mostrar un elemento de base de datos aleatorio para ver: rieles (2)

Investigué la respuesta a esta pregunta por un tiempo y no puedo entenderlo. Intento crear una vista que muestre un elemento aleatorio de la base de datos (eventualmente haré una implementación futura para hacerlo mediante el botón-clic). No tengo idea de lo que está mal.

Tengo un andamio llamado Answers que solo muestra texto. En mi controlador de respuestas, construí un método personalizado llamado random:

def index @answers = Answer.all end def show end def random # @randitem = @items[rand(items.count)] @randanswer = Answer.random_answer end

En mis modelos:

class Answer < ActiveRecord::Base def self.random_answer Answer.order("RAND()").first end end

Finalmente, en mi opinión / random.html.erb:

<!--Doesn''t work--> <%= link_to @randanswer.answer_response, link_to_answer(@randanswer) %>

La captura de pantalla de una carpeta:

Estoy a punto de ponerme nervioso, lo cual es frustrante porque siento que este es un problema muy simple. Cualquier sugerencia o recurso útil sería apreciado.


Solo, encuentra con offset

# Rails 4 def self.random_answer offset = rand(Answer.count) Answer.offset(offset).first end # Rails 3 def self.random_answer offset = rand(Answer.count) Answer.first(:offset => offset) end

Espero que ayude

Editado:

Dado que Answer.order("RAND()").first funciona bien con MySQL, también puede usar Answer.order("RANDOM()").first con PostgreSQL, o con offset puede hacerlo con confianza, funciona.


Un enfoque más simple, en mi opinión, es usar el método de muestra de Ruby:

def self.random_answer Answer.all.sample end

O

def self.random_answer Answer.order(:column_name).sample end

Mejor aún, eliminaría el método random_answer su modelo y definiría el método AnswersController como:

def random @randanswer = Answer.all.sample end

Referencia de Ruby Doc: http://www.ruby-doc.org/core-2.1.5/Array.html#method-i-sample