2010-03-02 106 views
0

我在我的nifty_scaffold中有错误... 由于某种原因(没有更改任何标准代码,检查了routes.rb,...) ,创造一种新的营养是行不通的。营养中的NoMethodError#新 - 未定义的方法''为零:NilClass

任何人都可以解释我如何以及解决方案是什么?

我想我已经包括了所有necessairy代码...

详细的错误是: 未定义的方法`generated_methods'的零:NilClass

路线包括:

map.resources :nutritions 

查看:新

<% title "New Nutrition" %> 
<%= render :partial => 'form' %> 
<p><%= link_to "Back to List", nutritions_path %></p> 

查看:_form

<% form_for @nutrition do |f| %> 
    <%= f.error_messages %> 
    <p> 
    <%= f.label :name %><br /> 
    <%= f.text_field :name %> 
    </p> 
    <p> 
    <%= f.label :description %><br /> 
    <%= f.text_area :description %> 
    </p> 
    <p> 
    <%= f.label :ammount %><br /> 
    <%= f.text_field :ammount %> 
    </p> 
    <p> 
    <%= f.label :unit %><br /> 
    <%= f.text_field :unit %> 
    </p> 
    <p> 
    <%= f.label :kcal %><br /> 
    <%= f.text_field :kcal %> 
    </p> 
    <p> 
    <%= f.label :protein %><br /> 
    <%= f.text_field :protein %> 
    </p> 
    <p> 
    <%= f.label :carb %><br /> 
    <%= f.text_field :carb %> 
    </p> 
    <p> 
    <%= f.label :fat %><br /> 
    <%= f.text_field :fat %> 
    </p> 
    <p> 
    <%= f.label :type %><br /> 
    <%= f.text_field :type %> 
    </p> 
    <p> 
    <%= f.label :class %><br /> 
    <%= f.text_field :class %> 
    </p> 
    <p><%= f.submit "Submit" %></p> 
<% end %> 

我的营养控制器

def new 
    @nutrition = Nutrition.new 
    #raise @progress.inspect (debug porpose, didn't help) 
    end 

这是完整的跟踪

C:/ruby/lib/ruby/gems/1.8/gems/activesupport-2.3.5/lib /active_support/whiny_nil.rb:52:in method_missing' C:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/attribute_methods.rb:352:in respond_to?' C:/ruby/lib/ruby/gems/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/array/wrapper.rb:14:wrap' C:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.5/lib/action_view/helpers/active_record_helper.rb:174:in error_messages_for'C:/ ruby​​/lib/ruby​​/gems/1.8/gems/actionpack-2.3.5/lib/action_view/helpers/form_helper.rb:1012:in error_messages' D:/Workspace/Aptana/UltimateJournal/app/views/nutritions/_form.html.erb:3:in _run_erb_app47views47nutritions47_form46html46erb_locals_form_object'C:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.5/lib/action_view /helpers/form_helper.rb:499:in fields_for' C:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.5/lib/action_view/helpers/form_helper.rb:282:in form_for'D:/Workspace/Aptana/UltimateJournal/app/views/nutritions/_form.html.erb:2:in _run_erb_app47views47nutritions47_form46html46erb_locals_form_object' C:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.5/lib/action_view/renderable.rb:34:in send'C:/ ruby​​/lib/ruby​​/gems /1.8/gems/actionpack-2.3.5/lib/action_view/renderable.rb:34:in render' C:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.5/lib/action_view/base.rb:306:in with_template'C:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.5/lib/action_view/ renderable.rb:30:render' C:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.5/lib/action_view/renderable_partial.rb:20:in render'C:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.5/lib/action_controller/benchmarking.rb:26:in benchmark' C:/ruby/lib/ruby/gems/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/benchmark.rb:17:in ms'C:/ ruby​​/LIB /红宝石/宝石/ 1.8 /宝石/ activesup port-2.3.5/lib/active_support/core_ext/benchmark.rb:10:在realtime' C:/ruby/lib/ruby/gems/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/benchmark.rb:17:in ms'C:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.5/lib/action_controller/benchmarking.rb :26:benchmark' C:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.5/lib/action_view/renderable_partial.rb:19:in render'C:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.5/lib/action_view/template.rb:205:render_template' C:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.5/lib/action_view/renderable_partial.rb:44:in render_partial'C:/ ruby​​/lib/ruby /gems/1.8/gems/actionpack-2.3.5/lib/action_view/partials.rb:184:in render_partial' C:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.5/lib/action_view/base.rb:267:in render'D:/Workspace/Aptana/UltimateJournal/app/views/nutritions/new.html.erb:3:在_run_erb_app47views47nutritions47new46html46erb' C:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.5/lib/action_view/renderable.rb:34:in发送'C:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.5/lib/action_view/renderable.rb:34:在render' C:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.5/lib/action_view/base.rb:306:in with_template'C:/ ruby​​/lib/ruby​​/gems/1.8/gems/actionpack-2.3.5/lib/action_view/renderable.rb:30:render' C:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.5/lib/action_view/template.rb:205:in render_template'C:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.5/lib/action_view/base .rb:265:render' C:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.5/lib/action_view/base.rb:348:in _render_with_layout'C:/ruby/lib/ruby/gems/1.8/gems/actio npack-2.3.5/lib/action_view/base.rb:262:在render' C:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.5/lib/action_controller/base.rb:1250:in render_for_file'C:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.5/lib/action_controller/base.rb:945 :render_without_benchmark' C:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.5/lib/action_controller/benchmarking.rb:51:in render'C:/ruby/lib/ruby/gems/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/benchmark.rb:17:在ms' C:/ruby/lib/ruby/gems/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/benchmark.rb:10:in实时'C:/ ruby​​/lib/ruby /gems/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/benchmark.rb:17:in ms' C:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.5/lib/action_controller/benchmarking.rb:51:in render'C:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.5/ lib/action_controller/base.rb:1326:default_render' C:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.5/lib/action_controller/base.rb:1332:in perform_action_without_filters'C:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.5/lib/action_controller/filters。rb:617:call_filters' C:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.5/lib/action_controller/filters.rb:610:in perform_action_without_benchmark'C:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.5/lib/action_controller/benchmarking.rb:68:在perform_action_without_rescue' C:/ruby/lib/ruby/gems/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/benchmark.rb:17:in ms'C:/ ruby​​/lib/ruby/gems/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/benchmark.rb:10:在realtime' C:/ruby/lib/ruby/gems/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/benchmark.rb:17:in ms'C:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.5 /lib/action_controller/benchmarking.rb:68:in perform_action_without_rescue' C:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.5/lib/action_controller/rescue.rb:160:in perform_action_without_flash'C:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.5/lib/action_controller/flash.rb:146:在perform_action' C:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.5/lib/action_controller/base.rb:532:in发送' C:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.5/lib/action_controller/base.rb:532:在process_without_filters' C:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.5/lib/action_controller/filters.rb:606:in进程'C:/ruby/lib/ruby/gems/1.8/gems/ actionpack-2.3.5/lib/action_controller/base.rb:391:在process' C:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.5/lib/action_controller/base.rb:386:in调用'C:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.5/lib/action_controller/routing/route_set.rb :437:在call' C:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.5/lib/action_controller/dispatcher.rb:87:in调度'C:/ ruby​​/lib/ruby​​/gems/1.8/gems/actionpack-2.3.5/lib/action_controller/dispatcher.rb:121:在_call' C:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.5/lib/action_controller/dispatcher.rb:130:in build_middleware_stack'C:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record /query_cache.rb:29:in call' C:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/query_cache.rb:29:in调用'C:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/connection_adapters/abstract/query_cache.rb:34:in cache' C:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/query_cache.rb:9:in cache' C:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/query_cache.rb:28:在call' C:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/connection_adapters/abstract/connection_pool.rb:361:in调用'C:/ruby/lib/ruby/gems/1.8/gems/ actionpack-2.3.5/lib/action_controller/string_coercion.rb:25:在call' C:/ruby/lib/ruby/gems/1.8/gems/rack-1.0.1/lib/rack/head.rb:9:in调用'C:/ruby/lib/ruby/gems/1.8/gems/rack-1.0.1/lib/rack/methodoverride.rb:24 :在call' C:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.5/lib/action_controller/params_parser.rb:15:in调用'C:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.5/lib/action_controller/session/cookie_store.rb:93:在call' C:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.5/lib/action_controller/failsafe.rb:26:in中调用'C:/ ruby​​/lib/ruby /gems/1.8/gems/rack-1.0.1/lib/rack/lock.rb:11:in call' C:/ruby/lib/ruby/gems/1.8/gems/rack-1.0.1/lib/rack/lock.rb:11:in sy nchronize'C:/ruby/lib/ruby/gems/1.8/gems/rack-1.0.1/lib/rack/lock.rb:11:在call' C:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.5/lib/action_controller/dispatcher.rb:114:in调用'C:/ruby/lib/ruby/gems/1.8/ gems/actionpack-2.3.5/lib/action_controller/reloader.rb:34:在run' C:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.5/lib/action_controller/dispatcher.rb:108:in调用'C:/ruby/lib/ruby/gems/1.8/gems/rails-2.3.5/lib/rails/rack/static .rb:31:在call' C:/ruby/lib/ruby/gems/1.8/gems/rack-1.0.1/lib/rack/urlmap.rb:46:in调用'C:/ruby/lib/ruby/gems/1.8/gems/rack-1.0.1/lib/rack/urlmap.rb:40:在each' C:/ruby/lib/ruby/gems/1.8/gems/rack-1.0.1/lib/rack/urlmap.rb:40:in调用'C:/ ruby​​/lib /ruby/gems/1.8/gems/rails-2.3.5/lib/rails/rack/log_tailer.rb:17:in call' C:/ruby/lib/ruby/gems/1.8/gems/rack-1.0.1/lib/rack/content_length.rb:13:in调用'C:/ruby/lib/ruby/gems/1.8/gems/rack-1.0。 1/lib/rack/chunked.rb:15:在call' C:/ruby/lib/ruby/gems/1.8/gems/rack-1.0.1/lib/rack/handler/mongrel.rb:64:in进程'C:/ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.5-x86-mswin32-60/lib/mongrel.rb:159 :在process_client' C:/ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.5-x86-mswin32-60/lib/mongrel.rb:158:in每个'C:/ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.5-x86-mswin32-60/lib/mongrel.rb:158:在process_client' C:/ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.5-x86-mswin32-60/lib/mongrel.rb:285:in运行'C:/ ruby​​/lib /ruby/gems/1.8/gems/mongrel-1.1.5-x86-mswin32-60/lib/mongrel.rb:285:in initialize' C:/ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.5-x86-mswin32-60/lib/mongrel.rb:285:in new'C:/ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.5-x86-mswin32-60/lib/mongrel.rb:285:in run' C:/ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.5-x86-mswin32-60/lib/mongrel.rb:268:in initialize'C:/ ruby​​/lib/ruby /gems/1.8/gems/mongrel-1.1.5-x86-mswin32-60/lib/mongrel.rb:268:in new' C:/ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.5-x86-mswin32-60/lib/mongrel.rb:268:in运行'C:/ruby/lib/ruby/gems/1.8/gems/rack-1.0。 1/LIB /齿条/处理/ mongrel.rb:34:在run' C:/ruby/lib/ruby/gems/1.8/gems/rails-2.3.5/lib/commands/server.rb:111 C:/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in gem_original_require” C:/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:在require' script/server:3-e:2:in load'-E:2

+0

什么是完整错误堆栈? (包括失败的文件和行号)。 –

回答

2

它看起来不错,只是将一个属性命名为“class”似乎不是一个好主意,通常它非常保留字...

+0

你是对的,我添加了迁移到模型(类,类型=> nutri_class,nutri_type)。 我需要改变我的nifty_scaffold中的其他内容吗?例如。更改视图,控制器...? 因为,我的nutri_class,nutri_type在action =>“new”的视图中自动产生文本“营养”。怎么来的? – NicoJuicy

+0

您需要更改视图中由脚手架生成的字段名称,默认值可能会设置为视图 – deric

相关问题