이 Railscast에 대한 많은 게시물을 발견했지만 모든 제안이 도움이되지 못했습니다. 중첩 된 양식 필드를 뷰에서 렌더링 할 수 있었지만 컨트롤러에서 호출 한 3 개가 아닌 하나만 렌더링했습니다. 내가 제출하면, 나는 오류 : 수 없습니다 대량 할당 보호 특성 : 단서Rails 3 railcast # 196, 3x loop not working
Chapter.rb
class Chapter < ActiveRecord::Base
belongs_to :trail
has_many :clues, :dependent => :destroy
accepts_nested_attributes_for :clues
attr_accessible :asset, :assetkind, :description, :gate, :name, :trail, :trail_id, :cover
.
.
.
end
Clue.rb가 사용 말한다 railcast에서
class Clue < ActiveRecord::Base
attr_accessible :chapter_id, :theclue, :typeof, :chapter
.
.
.
belongs_to :chapter
end
이것과 동등 : 단서, 그리고이 3 개의 필드를 렌더링합니다. 그러나 내 것은 필드를 렌더링하지 않았습니다. 대신 @ chapter.clues를 사용하고 하나만 렌더링합니다.
새 장을 만들 때 제 양식. (: ID 번호)
<h1>Add a New Chapter</h1>
<h3>Add To Trail : <%= @trail.title %></h3><br>
<%= form_for [@trail, @trail.chapters.build] do |f| %>
<h6>About the Chapter</h6>
<%= f.label :name, 'Chapter Name' %>
.
.
.
<h6>Progressing the Story</h6>
<%= f.fields_for @chapter.clues do |builder| %>
<p>
<%= builder.label :theclue, "Enter Clue" %>
<%= builder.text_area :theclue, :rows => 2 %>
</p>
<% end %>
.
.
.
<% end %>
내 chapters_controller.rb 새로운
class ChaptersController < ApplicationController
def new
@trail = Trail.find(params[:trail_id])
@chapter = Chapter.new
@title = "Chapter"
3.times { @chapter.clues.build }
logger.debug "CHAPTER!!!!!!!!!!!!new: am i in a trail? #{@trail.to_yaml}"
logger.debug "CHAPTER!!!!!!!!!!!!new: am i in a clue? #{@chapter.clues.to_yaml}"
end
내 로그 나에게 3 단서를 보여 주지만, 속성은 빈 없습니다. 이것은 잘못된 신호인가? 그래서 내 로그에 3 단서 개체가 표시 되더라도 내보기에는 하나만 표시됩니다.
생각하십니까? 나는 이미, 유래에 대한 제안 덕분에,
attr_accessible :clues_attributes
을 chapter.rb 추가와 함께 그없이 운, 같은 동작 오류가 없었습니다. 시간
답변 해 주셔서 감사합니다. 나는 단서를 추가하려고 : clues_attributes 장 atrr_accessible 및 동일한 오류 있어요 : 보호 된 특성을 할당 할 수 없습니다 ... 단서 ... .... 사용할 때 : 단서 오류 : 알 수없는 특성 : 단서 ... 얻을 ? – HappaGirl