真的在这件事上绞尽脑汁。我对 Rails 比较陌生,并且尝试做一些我确信不会太难的事情。
我有一个模型“Trip”,它有很多“天”,里面有很多“活动”
我在“Trip”的 show.html.erb 视图中,在这个视图中,我正在渲染一个表单的部分内容,该表单应该允许我创建一个新的“活动”以与“日”相关联或编辑现有的已经属于“日”的“活动”
如何在表单部分中传递给 form_for,我想为其创建新的“活动”的“天”的局部变量。并且使用相同的表单部分,我如何检索与“活动”相关联的“日”?最终这些将是 AJAX 加载的对象。在过去的几个小时里,我用谷歌搜索,找不到任何类似的例子。我真的很感激帮助。
路线.rb
resources :trips do
resources :days
end
resources :days do
resources :activities
end
行程的 show.html.erb
<div id="activities_list">
<%= render :partial => "activities" %>
</div>
<div id="activity_form">
<%= render :partial => "/activities/form", :locals => { :activity => @activity} %>
</div>
<div id="bottom">
<%= link_to 'Edit', edit_trip_path(@trip) %> |
<%= link_to 'Back', trips_path %>
</div>
_activities.html.erb 部分
<h1><%= @trip.title %></h1>
<% @trip.days.each do |day| %>
<div id="blech_<%= day.id %>">
<b><%= day.summary %></b>
<% day.activities.each do |activity| %>
<li id="activity_<%= activity.id %>"><%= link_to activity.address, edit_day_activity_path(day, activity), :remote => true %></li>
<% end %>
<% end %>
<%= link_to 'New Activity', new_day_activity_path(day), :remote => true %>
</div>
<% end %>
_form.html.erb 部分我知道我需要使用 (@day,@activity) 变量调用 day_activity_path。但我不知道如何在这里获取@day 变量
<%= form_for([@activity], :remote => true) do |f| %>
<fieldset>
<%= f.label :title, "Activity" %><br />
<%= f.text_field :title, :rows => 1 %><br />
</fieldset>
<div class="actions">
<%= f.submit %>
</div>
<% end %>