2013-05-30 2 views
0

대체 하위 폼이있는 하위 개체가 있습니다. 또한 this question에,이 같은 부분적인 양식을 사용하여 객체를 렌더링 할 수 있어요 :레일 : 부분적으로 컬렉션의 멤버에 액세스

<%= render 'child_items/alternate_partial', :collection => parent_item.child_items %>

그러나 나는 부분에 컬렉션의 멤버에 액세스 할 수없는 것. 내가 사용 때 :

<%= render parent_item.child_items %>

부분은 <%= child_item.property %> 갈 수 있고 모든 일했다. 그러나 내가이 일을 최상위 방식으로 수행 할 때 (그리고 내가 부분을 지정하고자한다면) child_item에 대한 참조는 NameError를 던집니다. 부분 안의 콜렉션 아이템은 어떻게 얻을 수 있습니까?

답변

0

3.4.5 렌더링 모음http://guides.rubyonrails.org/layouts_and_rendering.html#using-partials에 언급 된 바와 같이 :
부분이 복수로 컬렉션이라 , 그 부분의 개별 인스턴스는 변수를 통해 표현되는 모음의 부재에 액세스 할 부분적인 이름을 따서 명명했다. 이 경우

, 부분은 _alternate_partial이며, 일부이든 _alternate_partial 내에서 렌더링되는 인스턴스를 얻을 수 alternate_partial를 참조 할 수 있습니다.

+0

감사합니다. 나는 물건에 접근하려고 할 때'undefined method 'some_method'for nil : NilClass'을 얻으 려했다. –

+0

''parent_item.child_items'''가 존재하는지 확인하고 ** ** child_items/alternate_partial ** 안에''<% = alternate_partial.property %>'''를 호출하십시오. 난 그냥 내 자신을 시도하고 예상대로 작동합니다. –

+0

'parent_item.child_items'이 (가) 원래 페이지에 확실히 존재합니다. 모든 것을 해시로 인쇄 한 곳에서 내가했던 짓궂은 일조차도 있었지만 부분적이 아닌 원래 페이지에서 일어났습니다. 그건 그렇고, 원래 페이지가 그 자체가 부분적으로 중요합니까? 나는 포기하고 parent-partial에서 자식 partial을 렌더링 할 것입니다. 그것은 어쨌든 디자이너와 스타일러를위한 원 스톱 숍이됩니다. :-) –