Допустим, у меня есть ArtcilesController
с действием создания, подобным следующему.
def create
@article = Article.new(params[:article])
respond_to do |format|
if @article.save
format.html { redirect_to(@article, :notice => "Article created") }
format.json { render :show }
else
format.html { render :new }
format.json { render(:json => { :errors => @article.errors }, :status => :not_acceptable) }
end
end
end
То же действие можно записать так же, как следующее:
def create
@article = Article.new(params[:article])
if @article.save
respond_to do |format|
format.html { redirect_to(@article, :notice => "Article created") }
format.json { render :show }
end
else
respond_to do |format|
format.html { render :new }
format.json { render(:json => { :errors => @article.errors }, :status => :not_acceptable) }
end
end
end
Обратите внимание, что в первом примере есть блок if else внутри блока response_to, а во втором - два блока response_to внутри одного блока if else.
Должен ли я предпочесть одно другому? Если да, то почему? Или просто нужно выбрать стиль и придерживаться его?