У меня есть контроллер:Перенаправление назад с ошибками
контроллер/streets_controller.rb
class StreetsController < ApplicationController
before_action :set_street, only: [:show, :edit, :update, :destroy]
def show
@house = @street.houses.build
end
.......
И вид для этого show
действия. Там я также отобразить форму, чтобы создать новые уличные дома:
просмотров/улицы/show.html.erb
<h1>Street</h1>
<p>@street.name</p>
<%= render '/houses/form', house: @house %>
Когда кто-то сообщающий о houses/form
запрос идет к houses_controller.rb
class HousesController < ApplicationController
def create
@house = House.new(house_params)
respond_to do |format|
if @house.save
format.html { redirect_back(fallback_location: streets_path) }
format.json { render :show, status: :created, location: @house }
else
format.html { redirect_back(fallback_location: streets_path) }
format.json { render json: @house.errors, status: :unprocessable_entity }
end
end
end
до сих пор она работает, что, когда кто-то вставляет правильную house_params
перенаправляет обратно и создает дом правильно
Но когда кто-то вставляет неправильно house_params
это redirects_back, но он не показывает ошибки дома в форме, он показывает форму для нового дома @house = @street.houses.build
Как я могу переадресовать к StreetsController
с @house
объект, чтобы отображались ошибки, а также заполнялась форма дома?
Благодаря
Каковы возможные страницы, на которые пользователь может быть перенаправлен обратно? –