render
リダイレクトしないので、URL バーのアドレスが変わる理由はありません。
デフォルトのupdate
メソッドは次のようになります。
# PUT /posts/1
# PUT /posts/1.json
def update
@post = Post.find(params[:id])
respond_to do |format|
if @post.update_attributes(params[:post])
format.html { redirect_to @post, notice: 'Post was successfully updated.' }
format.json { head :no_content }
else
format.html { render action: "edit" }
format.json { render json: @post.errors, status: :unprocessable_entity }
end
end
end
URL は/posts/1
で、これが URL バーに表示されます。update_attributes が検証エラーなどで失敗した場合、リダイレクト"edit"
なしでテンプレートをレンダリングします。