첫째을 생성되지 않는, 당신이 보는 시간을내어하는 경우 내가 당신을 감사 할 수 있습니다. 감사 :).하나가
그래서, 나는 마침내 정상 자원의 _form.html.erb의 방법을 제대로 둥지 자원을 파악. 마지막 프로젝트는 위에서 아래로 중첩 된 다음 리소스를 갖습니다 : IDFs => Switches => Jacks. 현재 내가 모든 것을 나에게 다음과 같은 오류 제공하는 새로운 잭 ... 만들기를 통해 작업이 있습니다
NoMethodError in Jacks#new
Showing /var/rails/network/app/views/jacks/_form.html.erb where line #1 raised:
undefined method `model_name' for NilClass:Class
Extracted source (around line #1):
1: <%= form_for [@switch, @jack] do |f| %>
2: <% if @jack.errors.any? %>
3: <div id="error_explanation">
4: <h2><%= pluralize(@jack.errors.count, "error") %> prohibited this jack from being saved:</h2>
내 모델의 모든 스캐 폴딩 있었다, 그리고 나는 모델을 제외하고, 자신의 파일의 많은 손도 안 연결하기 위해 컨트롤러를 연결하고 _form.html.erb 파일을 수정합니다. 나는 관련성이 있다고 생각하는 코드를 게시 할 것이지만 만약 당신이 그것을 본다면 나를 도울 수있는 다른 것이 있다면 알려주십시오.
응용 프로그램/컨트롤러/jacks_controller.rb :
...
def new
@jacks = Jack.new(:switch_id => params[:switch_id])
respond_to do |format|
format.html # new.html.erb
format.json { render :json => @jack }
end
end
...
응용 프로그램/뷰/스위치/_form.html.erb :
<%= form_for [@idf, @switch] do |switch_form| %>
<% if @switch.errors.any? %>
<div id="error_explanation">
<h2><%= pluralize(@switch.errors.count, "error") %> prohibited this switch from being saved:</h2>
<ul>
<% @switch.errors.full_messages.each do |msg| %>
<li><%= msg %></li>
<% end %>
</ul>
</div>
<% end %>
<div class="field">
<%= switch_form.label :title %><br />
<%= switch_form.text_field :title %>
</div>
<div class="field">
<%= switch_form.label :model %><br />
<%= switch_form.text_field :model %>
</div>
<% switch_form.fields_for :jacks do |jack_form| %>
<p>
<div class="field">
<%= jack_form.label :port, 'Port:' %>
<%= jack_form.text_field :port %>
</div>
<div class="field">
<%= jack_form.label :jack_number, 'Jack Number:' %>
<%= jack_form.text_field :jack_number %>
</div>
<div class="field">
<%= jack_from.label :room_number, 'Room Number:' %>
<%= jack_form.text_field :room_number %>
</div>
<% unless jack_form.object.new_record? %>
<div>
<%= jack_form.label :_delete, 'Remove:' %>
<%= jack_form.check_box :_delete %>
</div>
<% end %>
<p>
<% end %>
<div class="actions">
<%= switch_form.submit %>
</div>
<% end -%>
응용 프로그램/뷰/잭/_form.html.erb :
<%= form_for [@jack.switch, @jack] do |f| %>
<% if @jack.errors.any? %>
<div id="error_explanation">
<h2><%= pluralize(@jack.errors.count, "error") %> prohibited this jack from being saved:</h2>
<ul>
<% @jack.errors.full_messages.each do |msg| %>
<li><%= msg %></li>
<% end %>
</ul>
</div>
<% end %>
<div class="field">
<%= f.label :port %><br />
<%= f.number_field :port %>
</div>
<div class="field">
<%= f.label :jack_number %><br />
<%= f.text_field :jack_number %>
</div>
<div class="field">
<%= f.label :room_number %><br />
<%= f.text_field :room_number %>
</div>
<div class="actions">
<%= f.submit %>
</div>
<% end %>
은 이미 스택 오버플로 유사한 몇 가지 질문에서 일부 코드를 구현하려고했습니다,하지만 아무것도 작동하는 것 같다 없습니다. 어떤 도움이라도 대단히 감사 할 것입니다. 또한보고 싶은 다른 코드가 있으면 알려주세요.
다시 한번 감사드립니다!
이 예의 경우 또는 실제 코드에서 오타가 있습니까? 당신은 예 문 – Bryan
렌더링하여 JSON에서 개체하지만 "@jack"를 구성 할 때 "@jacks"가. 그것이 내가 한 줄로 전환하기 전에 원래 가지고 있었던 것입니다. 나도 당신을했지만, 원래 내가했다 : 는 = Switch.find은 (PARAMS는 [: switch_id]) 스위치 잭 = 내가 믿는 switch.jacks.new 당신이 구축되어있는 곳이 아닙니다 그럼에도 불구하고 그것을 시도해 보았습니다. 그래도 작동이 안되는. –
확실히 오타였습니다. 여전히 오류가 발생하지만 새로운 문제입니다. 제가 일하게하거나 더 많은 도움이 필요하면 알려 드리겠습니다. 고맙습니다! –