見積もりの作成中にエラーが発生すると、それが表示されていたのと同じページがレンダリングされ、エラーが表示されます。残念ながら、2 つの入力は文字列のドロップダウン メニューであり、更新が行われると消えます。
私はRail 3: instance variable not available after redirectionを見てきました。これはセッションについて語っています。これは正しい方法のように見えますが、よくわかりません。どんな助けでも大歓迎です。
引用符コントローラ
def new
@quote = Quote.new
@quote.items.build
@types = ["T-Shirt", "Hoodie", "Sweatpants"]
@colors = ["White", "Black", "Red", "Blue", "Green"]
end
def create
@quote = Quote.new(params[:quote])
respond_to do |format|
if @quote.save
format.html { redirect_to root_url }
flash[:success] = "Your quote is being approved. You will recieve an email shortly!"
format.json { render json: @quote, status: :created, location: @quote }
else
format.html { render :action => 'new' }
format.json { render :json => @quote.errors, :status => :unprocessable_entry }
flash[:error] = "Quote failed to create! Try again!"
end
end
end
部分的なフォーム
<!-- item form -->
<%= f.input :make, collection: @types, label: 'Thread Type' %>
<%= f.input :amount, label: 'How Many' %>
<%= f.input :color, collection: @colors %>
<!-- nested form for creating a design of an item -->
<%= f.simple_fields_for :designs, :html => { :multipart => true } do |designform| %>
<%= render "customdesign", g: designform %>
<% end %>
<!-- add/remove another design -->
<%= f.link_to_add "Add Design", :designs %>
<%= f.input :note, :input_html => { :cols => 50, :rows => 3 }, label: 'Special Notes or Requests' %>
<%= f.link_to_remove "Remove" %>