아주 적은 비율의 개체가 다소 큰 설명 텍스트를 갖는 모델이 있습니다. 데이터베이스를 어느 정도 정규화 된 상태로 유지하려고 시도하면서이 설명 텍스트를 별도의 모델로 추출하려고했지만 ActiveAdmin에서 현명한 워크 플로우를 만드는 데 어려움을 겪고 있습니다.ActiveAdmin에서 has_one 연관 수정 - 아무 것도 입력하지 않으면 저장하지 마십시오
내 모델은 다음과 같이 :
이 추가 작동form do |f|
...
f.inputs :for => [
:long_description,
f.object.long_description || LongDescription.new
] do |ld_f|
ld_f.input :text
end
f.actions
end
/를 LongDescription 편집 :
class Person < ActiveRecord::Base
has_one :long_description
end
class LongDescription < ActiveRecord::Base
attr_accessible :text, :person_id
belongs_to :person
validates :text, presence: true
end
현재 나는 사람 모델을 편집과 같이 다소보고에 대한 양식을 만든 개체,하지만 여전히 문제가 : 텍스트를 입력하지 않으면 LongDescription 개체의 유효성 검사/만들기를 피하고 싶습니다.
나보다 더 나은 ActiveAdmin 스킬을 가진 사람이라면 어떻게해야할까요?
멋진, 그 트릭을! 나는 실제로 accepts_nested_attributes_for를 사용하고 있었지만, reject_if와 같은 옵션이 있다고 생각조차하지 않았습니다. 감사! – rogerkk
피칭과 같은 느낌이들 경우를 대비해 관련 객체를 다시 자동 삭제하는 것과 관련된 질문을 추가했습니다. http://stackoverflow.com/questions/20742041/editing-a-has-one-association-in-activeadmin-destroying -when-attribute-is-blank – rogerkk