我的生成器模型中有一个方法:
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):/ 如何初始化? Plz帮助。
答案 0 :(得分:1)
您应不直接引用视图中的模型。
而是在控制器中创建一个变量
def show
@generator = Generator.new # or create it however you like
@data = @generator.generate_pesel
end
然后你可以在视图中引用它
<%= @data %>