Доступ к сообщениям об ошибках в form_tag - PullRequest
1 голос
/ 14 мая 2010

Я создал пользовательскую форму для создания модели соединения на has_many :through связи. Модели выглядят примерно так:

class Team
  has_many :team_members
  has_many :members, :through => :team_members
end

class Member
  has_many :team_members
  has_many :teams, :through => :team_members
end

class TeamMember
  belongs_to :team
  belongs_to :member
  # and this model has some validations too
end

Форма, которую я построил, предназначена для выбора членов команды. Я не буду вставлять форму, но она использует метод form_tag и в основном отправляет массив хэшей, которые содержат member_id и squad_number. Затем я обновляю базу данных действием, которое выглядит примерно так (немного упрощено, но вы получите jist):

@team.transaction do
  @team.team_members = params[:team_members].collect{|tm| @team.team_members.new(tm)}
  if @team.save
    redirect_to ...
  else
    render :action => :members
  end
end

Все отлично работает, но я проверяю squad_number на уникальность и численно. Итак, когда какая-либо из этих проверок завершается ошибкой, как мне получить доступ к ним, на мой взгляд, и как я могу определить, на каком из многих участников произошла ошибка?

1 Ответ

1 голос
/ 15 мая 2010

Я не уверен, что это даст вам то, что вы хотите, но вы можете создать свой team_members так же, как этот

team_members = @team.team_members.create(params[:team_members])

и иметь доступ к ошибкам через team_members.errors.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...