Метод инициализации, определенный в представленной модели - PullRequest
0 голосов
/ 27 декабря 2011

У меня есть метод в моей модели генератора:

def generate_pesel
    r1 = Random.new
    rok = r1.rand(1800...2299)
    r2 = Random.new
    miesiac = r2.rand(1...12)
    r3 = Random.new

    if (miesiac == 2)&&((rok%4==0)||(rok%400))
      dzien = r3.rand(1...29)
    else
      dzien = r3.rand(1...28)
    end

    if (rok >= 1800)&&(rok <= 1899)
      miesiac = miesiac + 80
    end 
    if (rok >= 2000)&&(rok <= 2099)
      miesiac = miesiac + 20
    end
    if (rok >= 2100)&&(rok <= 2199)
      miesiac = miesiac + 40
    end
    if (rok >= 2200)&&(rok <= 2299)
      miesiac = miesiac + 60
    end

    data = rok.to_s + miesiac.to_s + dzien.to_s
    puts data
  end

И я хочу, чтобы он поместил переменную данных в мое представление - но я не знаю, как инициализировать его в моем представлении - я 'мы пробовали:

<%= generate_pesel %>

Но это не работает (NoMethodError): / Как его инициализировать?Пожалуйста, помогите.

1 Ответ

1 голос
/ 27 декабря 2011

Вы должны не напрямую ссылаться на модели в ваших представлениях.

Вместо этого создайте переменную в вашем контроллере

def show
  @generator = Generator.new # or create it however you like
  @data = @generator.generate_pesel
end

Тогда вы можете ссылаться на него в представлении

<%= @data %>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...