를 연결하고, 모델 학교 및 클래스와 테스트 응용 프로그램을 제작하는 레일 3의 중첩 된 자원을 사용. 내 routes.rb
파일에서, 내가 가진 : 학교 및클래스에 대해 다음 모델 관계로제대로 나는 레일의 중첩 된 자원에 대한 더 나은 핸들을 얻기 위해 노력하고 모델
resources :schools do
resources :classes
end
:
class School < ActiveRecord::Base
attr_accessible: name
has_many :classes
end
및
class Class < ActiveRecord::Base
attr_accessible: name, school_id
belongs_to :school
end
내가 어려움을 얻는 데 오전 school_id
은 0과 같은 URL에서 생성 된 게시물과 연결됩니다.. 좀 더 정확히 말하면 과 같은 도우미 메서드를 정의하여 school_id
이 들어있는 URI의 첫 번째 절반을 가져올 수 있습니다. current_school.posts.all
과 같은 컨트롤러에서 함수를 작성하면 자동으로 연결된 모든 게시물을 가져옵니다 school_id
= URL에 무엇이 있는지. 감사!
* 편집하는 것은 여기
내가 ClassController
에있는 것입니다 :
<div class="span6 offset3">
<%= form_for([@school, @class]) do |f| %>
<%= f.label :name, "class title" %>
<%= f.text_field :name %>
<%= f.submit "Create class", class: "btn btn-large btn-primary" %>
<% end %>
</div>
감사합니다. 코드를 추가했는데 이제는'index'와 'new'함수가 잘 동작합니다. 그러나 'create'함수를 사용하면 "ID가없는 학교를 찾을 수 없습니다"라는 오류 메시지가 나타납니다. 위의 질문 본문에'form_for' 도우미가있는'new.html.erb'에 나타나는'create '함수와이 문제를 일으킬 수있는 것이 확실하지 않은 것을 모두 게시했습니다. 도와 주셔서 다시 한 번 감사드립니다! – daspianist
@daspianist : new.html.erb 형식에서 : <% = form_for ([@ school, @class]) do | f | %>''<% = form_for ([@ current_school, @class]) do | f |를 읽어야합니다. %>' – PinnyM
고맙습니다 - 잘 했어! 더 잘 이해할 수 있도록 도와 주셔서 감사합니다. – daspianist