0

네임 스페이스로 경로를 사용하는 방법을 배우려고합니다.Rails 5, Simple Fields 중첩 된 자원을위한 Cocoon gem에 대해서

나는 Proposal이라는 모델과 Innovation이라는 모델을 가지고 있습니다. 협회는 다음과 같습니다

제안

has_many :innovations 
    accepts_nested_attributes_for :innovations, reject_if: :all_blank, allow_destroy: true 

혁신

내 routes.rb에서
belongs_to :proposal 

, 내가 가진 내 제안 컨트롤러에서

resources :proposals do 
    resources :innovations 

을, 내가 가진 :

def new 
    @proposal = Proposal.new 
    @proposal.innovations.build 

    # authorize @proposal 
    end 

    def edit 
    @proposal.innovations_build unless @proposal.innovations 

    end 

내 제안 양식에서 혁신 모델의 양식 필드를 중첩 시키려고합니다.

<%= f.simple_fields_for [@proposal, @innovations] do |f| %> 

사람이 내가해야 할 일을 볼 수 : 내가하려고 할 때

undefined method `model_name' for nil:NilClass 

내가 같은 오류를 얻을 :이 때

<%= f.simple_fields_for [@proposal, @innovation] do |f| %> 
     <%= f.error_notification %> 
      <%= render 'innovations/innovation_fields', f: f %> 

     <% end %> 

     <%= link_to_add_association 'Add another novel aspect', f, :innovations, partial: 'innovations/innovation_fields' %> 
     </div> 

, 나는 말한다 오류가 제안 양식에 혁신 양식 필드가 포함되도록하려면?

답변

0

중첩 된 특성을 사용하고 있으므로이 경우에는 중첩 된 경로가 필요하지 않습니다. 당신은

<%= f.simple_fields_for @proposal do |f| %> 

는 이쪽 ProposalsController에, 모든 혁신을 포함하는 양식을 게시 할 예정입니다 작성할 수 있습니다.