나는 여기를 잃고있다. Dev 모드 (스크립트/서버)에서 실행 중일 때 나는 내 모델 번호에 대한 항목을 나열하려고 할 때 임의의 시간에 "undefined local variable or method 'id' for #<InsertModelNameHere:0x7f19bdb87dc8>
"오류가 발생합니다. 페이지가 새로 고쳐지면 잘 작동하며 각 요청마다 모든 항목이 다시로드되기 때문에 dev에서만 볼 수 있다고 가정합니다. 경주 조건이 나 어쩌면 어쩌면? 나는이 문제가있는보기에서 "id"속성 (다른 키 명명 규칙을 사용하는 레거시 테이블)을 참조하지 않습니다. 동료 중 한 명이 레일스가 "id"속성을 모델에서 정의 된 기본 키.레일을 "정의되지 않은 지역 변수 또는 메소드"로 다시 채우지 않는 attr에 대해서
다음은보기, 오류 메시지 및 스택 추적을위한 코드입니다. 나는 레일 2.3.3을 달리고있다.
보기 :
<h2 class="textCenter">To Do List</h2>
<% form_tag({:action => "list"}, :method => "get") do %>
<div class="full_width textCenter">
<%= text_field_tag "q", params[:q] %>
<input type="submit" value="Search" />
</div>
<% end %>
<table class="full_width list">
<thead >
<tr >
<th >ID</th>
<th >Name</th>
<th >Resource ID</th>
<th >Company</th>
<th > </th>
<th > </th>
</tr>
</thead>
<tbody >
<% begin %>
<% @todos.each do |todo| %>
<tr class="<%= cycle "striped", "" %>" >
<td ><%= todo.pk_todo_id %></td>
<td ><%= todo.name %></td>
<td ><%= todo.fk_resource_id %></td>
<td ><%= todo.fk_company_id %></td>
<td ><%= link_to "STA", {:controller => "stas", :action => "list", :id => todo.fk_resource_id} %></td>
<td ><%= link_to "Edit", {:controller => "todos", :action => "edit", :id => todo.pk_todo_id} %></td>
</tr>
<% end %>
<% rescue => e; puts e.message; puts e.backtrace %>
<% end %>
</tbody>
</table>
오류 : undefined local variable or method 'id' for #<Todo:0x7f19bdb87dc8>
/var/lib/gems/1.8/gems/activerecord-2.3.3/lib/active_record/attribute_methods.rb:260:in 'method_missing'
/var/lib/gems/1.8/gems/activerecord-2.3.3/lib/active_record/attribute_methods.rb:249:in 'method_missing'
/home/scott/Projects/cllsuite/trunk/app/views/todos/list.rhtml:25:in '_run_rhtml_app47views47todos47list46rhtml'
/home/scott/Projects/cllsuite/trunk/app/views/todos/list.rhtml:23:in 'each'
/home/scott/Projects/cllsuite/trunk/app/views/todos/list.rhtml:23:in '_run_rhtml_app47views47todos47list46rhtml'
/var/lib/gems/1.8/gems/actionpack-2.3.3/lib/action_view/renderable.rb:34:in 'send'
/var/lib/gems/1.8/gems/actionpack-2.3.3/lib/action_view/renderable.rb:34:in 'render'
/var/lib/gems/1.8/gems/actionpack-2.3.3/lib/action_view/base.rb:301:in 'with_template'
/var/lib/gems/1.8/gems/actionpack-2.3.3/lib/action_view/renderable.rb:30:in 'render'
/var/lib/gems/1.8/gems/actionpack-2.3.3/lib/action_view/template.rb:199:in 'render_template'
/var/lib/gems/1.8/gems/actionpack-2.3.3/lib/action_view/base.rb:260:in 'render'
/var/lib/gems/1.8/gems/actionpack-2.3.3/lib/action_view/base.rb:343:in '_render_with_layout'
/var/lib/gems/1.8/gems/actionpack-2.3.3/lib/action_view/base.rb:257:in 'render'
/var/lib/gems/1.8/gems/actionpack-2.3.3/lib/action_controller/base.rb:1246:in 'render_for_file'
/var/lib/gems/1.8/gems/actionpack-2.3.3/lib/action_controller/base.rb:941:in 'render_without_benchmark'
/var/lib/gems/1.8/gems/actionpack-2.3.3/lib/action_controller/benchmarking.rb:51:in 'render'
/var/lib/gems/1.8/gems/activesupport-2.3.3/lib/active_support/core_ext/benchmark.rb:17:in 'ms'
/usr/lib/ruby/1.8/benchmark.rb:308:in 'realtime'
/var/lib/gems/1.8/gems/activesupport-2.3.3/lib/active_support/core_ext/benchmark.rb:17:in 'ms'
/var/lib/gems/1.8/gems/actionpack-2.3.3/lib/action_controller/benchmarking.rb:51:in 'render'
/var/lib/gems/1.8/gems/actionpack-2.3.3/lib/action_controller/base.rb:1322:in 'default_render'
/var/lib/gems/1.8/gems/actionpack-2.3.3/lib/action_controller/base.rb:1328:in 'perform_action_without_filters'
/var/lib/gems/1.8/gems/actionpack-2.3.3/lib/action_controller/filters.rb:617:in 'call_filters'
/var/lib/gems/1.8/gems/actionpack-2.3.3/lib/action_controller/filters.rb:610:in 'perform_action_without_benchmark'
/var/lib/gems/1.8/gems/actionpack-2.3.3/lib/action_controller/benchmarking.rb:68:in 'perform_action_without_rescue'
/var/lib/gems/1.8/gems/activesupport-2.3.3/lib/active_support/core_ext/benchmark.rb:17:in 'ms'
/usr/lib/ruby/1.8/benchmark.rb:308:in 'realtime'
/var/lib/gems/1.8/gems/activesupport-2.3.3/lib/active_support/core_ext/benchmark.rb:17:in 'ms'
/var/lib/gems/1.8/gems/actionpack-2.3.3/lib/action_controller/benchmarking.rb:68:in 'perform_action_without_rescue'
/var/lib/gems/1.8/gems/actionpack-2.3.3/lib/action_controller/rescue.rb:160:in 'perform_action_without_flash'
/var/lib/gems/1.8/gems/actionpack-2.3.3/lib/action_controller/flash.rb:146:in 'perform_action'
/var/lib/gems/1.8/gems/actionpack-2.3.3/lib/action_controller/base.rb:527:in 'send'
/var/lib/gems/1.8/gems/actionpack-2.3.3/lib/action_controller/base.rb:527:in 'process_without_filters'
/var/lib/gems/1.8/gems/actionpack-2.3.3/lib/action_controller/filters.rb:606:in 'process'
/var/lib/gems/1.8/gems/actionpack-2.3.3/lib/action_controller/base.rb:391:in 'process'
/var/lib/gems/1.8/gems/actionpack-2.3.3/lib/action_controller/base.rb:386:in 'call'
/var/lib/gems/1.8/gems/actionpack-2.3.3/lib/action_controller/routing/route_set.rb:434:in 'call'
/var/lib/gems/1.8/gems/actionpack-2.3.3/lib/action_controller/dispatcher.rb:88:in 'dispatch'
/var/lib/gems/1.8/gems/actionpack-2.3.3/lib/action_controller/dispatcher.rb:111:in '_call'
/var/lib/gems/1.8/gems/actionpack-2.3.3/lib/action_controller/dispatcher.rb:82:in 'initialize'
/var/lib/gems/1.8/gems/activerecord-2.3.3/lib/active_record/query_cache.rb:29:in 'call'
/var/lib/gems/1.8/gems/activerecord-2.3.3/lib/active_record/query_cache.rb:29:in 'call'
/var/lib/gems/1.8/gems/activerecord-2.3.3/lib/active_record/connection_adapters/abstract/query_cache.rb:34:in 'cache'
/var/lib/gems/1.8/gems/activerecord-2.3.3/lib/active_record/query_cache.rb:9:in 'cache'
/var/lib/gems/1.8/gems/activerecord-2.3.3/lib/active_record/query_cache.rb:28:in 'call'
/var/lib/gems/1.8/gems/activerecord-2.3.3/lib/active_record/connection_adapter /abstract/connection_pool.rb:361:in 'call'
/var/lib/gems/1.8/gems/rack-1.0.0/lib/rack/head.rb:9:in 'call'
/var/lib/gems/1.8/gems/rack-1.0.0/lib/rack/methodoverride.rb:24:in 'call'
/var/lib/gems/1.8/gems/actionpack-2.3.3/lib/action_controller/params_parser.rb:15:in 'call'
/var/lib/gems/1.8/gems/actionpack-2.3.3/lib/action_controller/session/cookie_store.rb:93:in 'call'
/var/lib/gems/1.8/gems/actionpack-2.3.3/lib/action_controller/reloader.rb:29:in 'call'
/var/lib/gems/1.8/gems/actionpack-2.3.3/lib/action_controller/failsafe.rb:26:in 'call'
/var/lib/gems/1.8/gems/rack-1.0.0/lib/rack/lock.rb:11:in 'call'
/var/lib/gems/1.8/gems/rack-1.0.0/lib/rack/lock.rb:11:in 'synchronize'
/var/lib/gems/1.8/gems/rack-1.0.0/lib/rack/lock.rb:11:in 'call'
/var/lib/gems/1.8/gems/actionpack-2.3.3/lib/action_controller/dispatcher.rb:106:in 'call'
/var/lib/gems/1.8/gems/rails-2.3.3/lib/rails/rack/static.rb:31:in 'call'
/var/lib/gems/1.8/gems/rack-1.0.0/lib/rack/urlmap.rb:46:in 'call'
/var/lib/gems/1.8/gems/rack-1.0.0/lib/rack/urlmap.rb:40:in 'each'
/var/lib/gems/1.8/gems/rack-1.0.0/lib/rack/urlmap.rb:40:in 'call'
/var/lib/gems/1.8/gems/rails-2.3.3/lib/rails/rack/log_tailer.rb:17:in 'call'
/var/lib/gems/1.8/gems/rack-1.0.0/lib/rack/content_length.rb:13:in 'call'
/var/lib/gems/1.8/gems/rack-1.0.0/lib/rack/chunked.rb:15:in 'call'
/var/lib/gems/1.8/gems/rack-1.0.0/lib/rack/handler/mongrel.rb:61:in 'process'
/var/lib/gems/1.8/gems/mongrel-1.1.5/lib/mongrel.rb:159:in 'process_client'
/var/lib/gems/1.8/gems/mongrel-1.1.5/lib/mongrel.rb:158:in 'each'
/var/lib/gems/1.8/gems/mongrel-1.1.5/lib/mongrel.rb:158:in 'process_client'
/var/lib/gems/1.8/gems/mongrel-1.1.5/lib/mongrel.rb:285:in 'run'
/var/lib/gems/1.8/gems/mongrel-1.1.5/lib/mongrel.rb:285:in 'initialize'
/var/lib/gems/1.8/gems/mongrel-1.1.5/lib/mongrel.rb:285:in 'new'
/var/lib/gems/1.8/gems/mongrel-1.1.5/lib/mongrel.rb:285:in 'run'
/var/lib/gems/1.8/gems/mongrel-1.1.5/lib/mongrel.rb:268:in 'initialize'
/var/lib/gems/1.8/gems/mongrel-1.1.5/lib/mongrel.rb:268:in 'new'
/var/lib/gems/1.8/gems/mongrel-1.1.5/lib/mongrel.rb:268:in 'run'
/var/lib/gems/1.8/gems/rack-1.0.0/lib/rack/handler/mongrel.rb:34:in 'run'
/var/lib/gems/1.8/gems/rails-2.3.3/lib/commands/server.rb:111
/usr/lib/ruby/1.8/rubygems/custom_require.rb:31:in 'gem_original_require'
/usr/lib/ruby/1.8/rubygems/custom_require.rb:31:in 'require'
script/server:3
TODO 모델은 어떻게 생겼습니까? – ErsatzRyan
특히 fk_resource_id 메소드 – ErsatzRyan
fk_resource_id는 db의 열 –