[Rails 메모] erross.add 쓰기

1976 단어 RubyRails

개시하다


자주 잊어버리기errors.add……해서, 메모입니다.

컨디션


Project 모델과 Genre 모델은 중간 테이블has_and_belongs_to_many을 통해 연관됩니다.
프로젝트를 create할 때, 이 프로젝트의Genre도 등록됩니다.

erros.validate에서dd 기술


project.rb
class Project < ApplicationRecord
  has_and_belongs_to_many :genres

  validates :name, presence: true, length: { maximum: 200 }
  
  
  
  validate :has_genres?

  def has_genres?
    errors.add(:genres, "を選んでください") if self.genres.blank?
  end

end

i18n과 잘못된 설정을 뷰에 기록하면
Genre가 등록되지 않은 경우 ErrorMessage가 표시됩니다.
new.html.erb
          <% @project.errors.full_messages.each do |msg| %>
            <div class="alert alert-danger">
              <%= msg %>
            </div>
          <% end %>

좋은 웹페이지 즐겨찾기