Arrays 如何通过数组而不是数据库记录传递变量?
我目前正在构建一个数据生成器。首先我想实现的是PESEL(基于出生日期的波兰个人ID)生成器-我想在表格中输入一个带有开始和结束出生日期间隔的临时数据-我不想将其存储在数据库中(或者我应该这样做?) 这是我的pesel控制器:Arrays 如何通过数组而不是数据库记录传递变量?,arrays,ruby-on-rails-3,forms,Arrays,Ruby On Rails 3,Forms,我目前正在构建一个数据生成器。首先我想实现的是PESEL(基于出生日期的波兰个人ID)生成器-我想在表格中输入一个带有开始和结束出生日期间隔的临时数据-我不想将其存储在数据库中(或者我应该这样做?) 这是我的pesel控制器: def new @pesel = Array.new respond_to do |format| format.html # new.html.erb format.json { render json: @pesel }
def new
@pesel = Array.new
respond_to do |format|
format.html # new.html.erb
format.json { render json: @pesel }
end
end
但是我有一个“未定义的方法`model_name'for NilClass:Class”错误——这是解决这个问题的好方法吗?我在某个地方读到,使用临时变量不符合“Ruby方式”——如果我的解决方案是错误的,请建议正确的解决方案。(例如,通过Cookie?哈希?助手方法传递此变量?)
这是stacktrace(我想):
2011-12-05 16:18:20+0100时127.0.0.1的开始获取“/pesel”
由PeselController处理#新为HTML
布局/应用程序中呈现的pesel/new.html.erb(1513.9ms)
1793ms内完成500个内部服务器错误
ActionView::Template::Error(NilClass:Class的未定义方法“model_name”):
1:
2::date,:start_year=>date.today.year-90,
3::end_year=>Date.today.year-12,:discard_day=>true,
4::订单=>[:月,:年]]>
app/views/pesel/new.html.erb:1:in`_app_views_pesel_new_html_erb_708648673_90148530'
app/controllers/pesel_controller.rb:7:in'new'
Rendered/home/ofca/.rvm/gems/ruby-1.9.2-p290/gems/actionpack-3.1.1/lib/action\u dispatch/middleware/templates/rescues//u trace.erb(5.6ms)
Rendered/home/ofca/.rvm/gems/ruby-1.9.2-p290/gems/actionpack-3.1.1/lib/action\u dispatch/middleware/templates/rescues//u request\u and\u response.erb(4.0ms)
rescues/layout中的Rendered/home/ofca/.rvm/gems/ruby-1.9.2-p290/gems/actionpack-3.1.1/lib/action\u dispatch/middleware/templates/rescues/template\u error.erb(17.6ms)
form\u for
假定传递给它的对象存在某些属性,例如model\u name
form\u,只需使用和相关的\u标记
方法即可
model\u名称
和form\u所需的任何其他字段
你需要给我们更多关于这个错误的信息。你能给我们完整的跟踪信息吗?这通常会告诉我们哪一行代码实际上被破坏了——这很有帮助。还有,它告诉你在重要的地方有一个零。不应该有零的地方。考虑一下是什么导致了这种情况。检查它是否可以简化模型的构建
Started GET "/pesel" for 127.0.0.1 at 2011-12-05 16:18:20 +0100
Processing by PeselController#new as HTML
Rendered pesel/new.html.erb within layouts/application (1513.9ms)
Completed 500 Internal Server Error in 1793ms
ActionView::Template::Error (undefined method `model_name' for NilClass:Class):
1: <%= simple_form_for @pesel do |f| %>
2: <%= f.input :date_of_birth, :as => :date, :start_year => Date.today.year - 90,
3: :end_year => Date.today.year - 12, :discard_day => true,
4: :order => [:month, :year] %>
app/views/pesel/new.html.erb:1:in `_app_views_pesel_new_html_erb__708648673_90148530'
app/controllers/pesel_controller.rb:7:in `new'
Rendered /home/ofca/.rvm/gems/ruby-1.9.2-p290/gems/actionpack-3.1.1/lib/action_dispatch/middleware/templates/rescues/_trace.erb (5.6ms)
Rendered /home/ofca/.rvm/gems/ruby-1.9.2-p290/gems/actionpack-3.1.1/lib/action_dispatch/middleware/templates/rescues/_request_and_response.erb (4.0ms)
Rendered /home/ofca/.rvm/gems/ruby-1.9.2-p290/gems/actionpack-3.1.1/lib/action_dispatch/middleware/templates/rescues/template_error.erb within rescues/layout (17.6ms)