私のコントローラーファイルは次のようになります。
class QuotesController < ApplicationController
def show
@quote = Quote.find(params[:id])
@popup = params[:popup]
respond_to do |format|
if @popup.present?
format.html { render layout: false }
else
format.html
end
format.json { render json: @quote }
end
end
def create
@quote = Quote.new(params[:quote])
respond_to do |format|
if @quote.save
format.html { redirect_to @quote, notice: "Quote was successfully created.", popup: "1" }
format.json { render json: @quote, status: :created, location: @quote }
else
format.html { render action: "errors", layout: false }
format.json { render json: @quote.errors, status: :unprocessable_entity }
end
end
end
end
http://localhost:3000/quotes/1?popup=1にアクセスすると、ビューは application_layout なしで正しく表示されます
ただし、私が CREATE アクションから来ている場合、?popup=1 が URL に追加されていないようです。したがって、application_layout が表示されるべきでないときに表示されます
popup: "1" を redirect_to 行に追加すると、GET 経由でパラメーターを渡すことになっていると思いました
誰が私が欠けているものを見ることができますか?
ありがとう