Как вызвать ошибку в индексе после обновления - PullRequest
0 голосов
/ 28 апреля 2020

У меня есть индекс, который отображает список «лиц». У меня также есть возможность редактировать атрибуты каждого человека из представления индекса.

Я пытаюсь найти способ вызвать ошибку при обновлении и сосредоточиться на указанных c входных данных, которые не работают. Я делал это раньше, когда это было просто представление редактирования, которое указывает на действие обновления, но я не уверен, как это сделать, когда все находится в представлении индекса.

В приведенном ниже фрагменте редактирования отображается форма, которая направляет к действию обновления.

<% @persons.each do |person| %>
	<div class="col-sm-18 center-block">
		<div class="card-container" style="margin-top: 100px;">
			<div class="card-header">
				<div class="flex space-between">
					<p class="font-weight-500" style="font-size: 16px;"> <%= "person" %> </p>
				</div>
			</div>

			<div class="card-contents">
				<div class="row">
					<div class="col-sm-10 col-sm-offset-4">
						<%= render 'edit', person: person %>
					</div>
				</div>
			</div>

			<div class="card-footer"></div>
		</div>
	</div>
<% end %>
# frozen_string_literal: true

module Family
  class PersonsController < FamilyApplicationController

    def index
      @persons = Person.all
      @person = Person.new
      @address = @person&.build_address
    end

    def create
      if Person.create!(person_params)
        redirect_to persons_path
        flash[:notice] = "person created"
      end
    end

    def update
      @person = Person.find(params[:id])
      if Person.update(person_params)
        redirect_to persons_path
        flash[:notice] = "Person updated"
      else 
        #Code needed here
      end

    end

    private

    def person_params
      params.require(:person).permit(:name, 
                                       :phone_number,
                                       address_attributes: %i[line_1 line_2 line_3 town county postcode country])
    end
  end
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...