好吧,所以我有days
,tracks
和events
。当我创建track
时,会给出正确的day_id
以及它自己的track_id
。当我尝试创建event
时,我希望给它适当的day_id
和/或track_id
。试图让嵌套对象给父母
因此,当我拉起day
它应该只显示tracks
和events
,与day
相关联。在track
中应存在event
,它存在于day
中。
所以,这基本上是一个日历,显示不同轨道的日常时间表以及轨道内的事件。
此外,我的events
表中我的db有一个track_id
和day_id
。
这里是我的routes.rb
resources :days do
resources :tracks do
resources :events
end
end
我的新/创建从我events_controller.rb
def new
@day = Day.find(params[:day_id])
@track = Track.find(params[:track_id])
@new_event = Event.new
end
def create
@day = Day.find(params[:day_id])
@track = Track.find(params[:track_id])
@events = @track.events
@new_event = Event.new(params.require(:event).permit(:name,:start_time, :end_time))
if @new_event.save
flash[:notice] = "Saved"
redirect_to @day
else
flash[:error] = "Error"
render :new
end
end
方法和这里就是我想在我的events.new.html.erb
<%= form_for [@day, @track, @new_event] do |f| %>
<%= f.label :name %>
<%= f.text_field :name, class: 'form-control', placeholder: "Enter the event" %>
<%= f.label :start_time %>
<%= f.text_field :start_time, class: 'form-control', placeholder: "Enter a start time"%>
<%= f.label :end_time %>
<%=f.text_field :end_time, class: 'form-control', placeholder: "Enter a start time"%>
<%= f.submit "Save", class: 'btn btn-success' %>
<% end %>
创建一个新的
event
谢谢fo在帮助中,我很确定我附加了所需的一切!
真棒,谢谢。 – 2015-04-03 19:05:41
实际上,我认为它已经工作了,尽管它使用适当的'track_id'创建了一个新事件,它并没有收到任何其他属性,例如'name' start_time'或'end_time' – 2015-04-03 19:33:45