我想通过HATBM为我的应用程序创建一个嵌套表单
我的模特
Study => has_many:samples
Sample => has_many:expts
Expt => has_one:运行
在我的研究中 - 我有新观点
<% 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 %>
和研究控制员
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'请一些人告诉我我在哪里犯了错误。
干杯