初めて質問するので、気楽に行ってください:-p
パーシャルを使用してコレクションをレンダリングするために、http://guides.rubyonrails.org/layouts_and_rendering.html#using-partials(セクション3.4.5コレクションのレンダリング)の例に従っています。コードは単純に見えますが、明らかに私は何かが欠けています。
models/expert.rbには次の行が含まれています。
attr_accessible :name
Experts_controller.rbには、インデックスメソッドに次の行が含まれています。
@experts = Expert.all
views / Experts / index.html.erbには、次の行が含まれています。
<%= render :partial => "expert", :collection => @experts %>
views / Experts / _expert.html.erbに含まれるもの:
<%= expert.name %>
ブラウザでインデックスページを表示すると、次のエラーが発生します。
NoMethodError in Experts#index
undefined method `name' for nil:NilClass
私はこれに1時間取り組んでいて、完全に困惑しています:-/私が見逃している小さなことは何ですか?
---明確化---
index.html.erb内で'<%= debug @experts%>'を実行すると、次の出力が生成されます。
- !ruby/object:Expert
attributes:
id: 1
name: Bob Smith
slug: bob-smith
created_at: '2012-03-11 18:37:11.791118'
updated_at: '2012-03-11 18:55:58.179629'
changed_attributes: {}
previously_changed: {}
attributes_cache: {}
marked_for_destruction: false
destroyed: false
readonly: false
new_record: false
- !ruby/object:Expert
attributes:
id: 2
name: Steve Kamp
slug: steve-kamp
created_at: !!null
updated_at: !!null
changed_attributes: {}
previously_changed: {}
attributes_cache: {}
marked_for_destruction: false
destroyed: false
readonly: false
new_record: false