Myページnew
とページは、 andアクションで使用されていないインスタンス変数edit
に依存します。@important_data
create
update
その結果、私のページはnew
失敗時にページをレンダリングできません。
def create
@my_object = MyObject.new(params[:my_object])
if @my_object.save
redirect_to root_path
else
render action: "new"
#this can't render because the page asks for an @important_data variable that's not defined.
end
end
以下の 2 つのソリューションのどちらを選択する必要がありますか? それぞれの長所/短所は何ですか?
オプション 1: レンダリング前に @important_data を宣言する
def create
@my_object = MyObject.new(params[:my_object])
if @my_object.save
redirect_to root_path
else
@important_data = ImportantData.all
render action: "new"
end
end
オプション 2: リダイレクト
def create
@my_object = MyObject.new(params[:my_object])
if @my_object.save
redirect_to root_path
else
redirect_to new_my_object_path
end
end