products_controller.rbにコードがあります
def create
@product = Product.new(product_params)
brand = Brand.find(params[:brand_id])
@product.brand = brand
if @product.save
raise "OK"
else
@brand = Brand.find(params[:brand_id])
render 'brands/show'
end
end
save メソッドが失敗した後、ブランドのshow.html.erbビューにリダイレクトする必要があります。これは、id でブランドを検索し、それに関する情報を表示します。
質問:
- それは正しい方法ですか
- ユーザーが手動で server_id パラメータを渡した場合、どのようにして実行を防止できますか (SQL インジェクション)? または、エラーを確認して表示するにはどうすればよいですか?
- フォーム外のビューにエラーを表示するにはどうすればよいですか
brands/show
(フォームを<a data-form="...">
プロパティに保存しているため、ユーザーはリンクをクリックするまでフォームを見ることができません。さらに、私は使用しますform_for([@brand,@brand.send(:products).klass.new])
)