使用 rails4.0 在 routes 里设置
resources :shops do
resources :products
end
在使用 scaffold 生成的 product controller 里
# POST /products
# POST /products.json
def create
@product = Product.new(product_params)
respond_to do |format|
if @product.save
format.html { redirect_to @product, notice: 'Product was successfully created.' }
format.json { render action: 'show', status: :created, location: @product }
else
format.html { render action: 'new' }
format.json { render json: @product.errors, status: :unprocessable_entity }
end
end
end
private
def product_params
params.require(:product).permit(:name, :shop_id, :price)
end
问题: 默认通过 Product.new(product_params) 生成的@product变量, 当 redirect_to @product 时,默认是跳转 product_path。我需要将其跳转为 shop_product_path。
所以,如何正确的设置 product_params?