ネストされたリソースを作成して、load_id が URL: になるようにします/loads/:load_id/stops/new
。
ロード モデル:
class Load < ActiveRecord::Base
has_many :stops
end
ルート:
resources :loads do
resources :stops
end
停止用コントローラー:
class StopsController < ApplicationController
# get /loads/:load_id/stops/new
def new
load = Load.find(params[:load_id])
@stop = load.stops.build
end
# post /loads/:load_id/stops
def create
load = Load.find(params[:load_id])
@stop = load.stops.create(params[:stop])
if @stop.save
format.html { redirect_to([@stop.post, @stop], :notice => 'Stop was successfully created.') }
else
format.html { render :action => "new" }
end
end
end
ここから抽出:
http://blog.8thcolor.com/2011/08/nested-resources-with-independent-views-in-ruby-on-rails/