1

HATBMを使用してアプリケーションのネストされたフォームを作成したい

私のモデルは

調査=>has_many:samples

サンプル=>has_many:expts

Expt => has_one:run

私の研究で-私が持っている新しい見解

<% form_for @study do |f| %>
    <%= f.label :study_Title %>
    <%= f.text_field :study_title, :size => 20 %><br \>
    <% for sample in Sample.find(:all) %>

        <div>
          <%= check_box_tag "study[sample_ids][]", sample.id, @study.samples.include?(sample) %>
          <%= sample.name %>
        </div>
    <% end %>
    <p><center><%= submit_tag "Next" %></center></p>
<% end %>

とStudiesControllerで

def create
    @study = Study.new(params[:study])
    if current_user.id?
       # Put the current user_id in the study.user_id
        @study.user_id = current_user.id
    end 
    if @study.save
      redirect_to :controller => "samples", :action => "add_sample_details", :method => "post", :id => @study.id
    else
      render :action => "new"
    end 
  end

サンプルコントローラのadd_sample_detailsアクションで

 def add_sample_details
    @study = Study.find(params[:id])  
    @samples = Sample.find(:all, :joins => :study, :conditions => { :studies => { :id => @study.id } })
  end

レコードを更新するためのサンプル属性を作成できません。また、特定のサンプルの新しいexptレコードを作成できません。

<% form_for @samples do |f| %>
    sample fields
and then 
            <% f.fields_for :expts do |f_expts| %>
            <% end %>
<% end %>

このエラーが発生します「#の未定義のメソッド`sample_sample_path'」

どこでミスをしているのか教えてください。

乾杯

4

0 に答える 0