저는 방금 시작한 Ruby-on-Rails 초보자입니다. 인덱스 페이지에서보기를 공유하는 올바른 방법
- 컨트롤러 :
나는 MVC가 생산하는 발판 통해 생성, "account_types을"이라는이/account_types/_form, 편집, 색인 등 ...
로컬 호스트 : 3000/account_types로 이동하면 색인보기.
내가 원하는 것은 응용 프로그램 색인 페이지의 account_types 색인 메소드에서 선택된 것과 동일한 데이터를 목록으로 표시하는 것입니다. 그때 집/index.html.erb을 편집
<ul>
<% @account_types.each do |account| %>
<li><% account.label %></li>
<% end %>
</ul>
(이는 SO에 대한 다른 질문에 주어진 예제를 기반으로) : 다음과 같이
나는 account_types/_list.html_erb라는 새로운 뷰를 작성<%= render :partial => 'account_types/list', :module_types => @module_types %>
나는
정의되지 않은 메서드`각 '무기 호에 대한 얻을 그러나 : NilClass
,536을
에러가 나는
<% @account_types.each do |account| %>
비계 전망이 잘 작동을 작성했습니다 account_types/_list.html.erb의 코드를 표시, 왜 광산은 아니다?
부분품을 여기서 올바르게 사용하고 있습니까?
미리 감사드립니다.
죄송합니다. 위와 같이 모든 사람이 module_types를 혼란스럽게 보았습니다. 그게 내가 시도한 다른 것입니다. account_types가 있어야합니다. <% = render : partial => 'account_types/list', : account_types => @account_types %>는 여전히 같은 오류 메시지를 표시합니다. – Hellfire
이 문제를 재현 할 새 프로젝트를 만들었습니다. 이전처럼 모든 것을 설정했습니다. account_types = AccountType.all을 home_controller.rb에 추가하지 않으면 nil.each에 대해 동일한 오류가 발생합니다. account_types = AccountType.all을 home_controller.rb에 추가하면 각 레코드에 대한 li이지만 데이터 목록이 없습니다 (자체적으로 이상 함). 그러나 (amp) account_types는 account_types_controller.rb에 이미 정의되어 있으므로 DRY를 위해 홈 컨트롤러에서 홈 컨트롤러로 다시 사용하지 않고 account_types의 인덱스 컨트롤러를 어떻게 사용할 수 있습니까? – Hellfire
나는 그것이 지금 일하고 있다고 생각한다. http://stackoverflow.com/questions/8869291/what-is-the-correct-way-to-define-an-application-wide-partial-and-its-variables에서'before_filter'를'ApplicationController'에 사용한다고 말합니다. . 갑자기'account_types' 변수가 모든 컨트롤러에서 사용 가능합니다. 이것은 내가 필요한 것입니다. – Hellfire