태그가있을 수있는 것보다 게시 용 양식으로 작업 중입니다. 그 관계는 Post
과 Tag
사이의 고전적인 has_and_belongs_to_many
입니다. 태그가있는 게시 모델의 양식
Post.new(tags: [1, 2, 3, 4]) # won't wotk. ActiveRecord expects Tag instances
을 그래서 내 현재의 형태는 다음과 같이이다 :
= form_for @post do |f|
= f.text_field :title, placeholder: 'title...'
= f.text_area :body
= fields_for :'post[tags]' do |ft| # hacky. using @post.tags raised 'undefined `model name` for `@post.tags`'
- Post.tags.each do |tag| # I defined Post::tags since I can't Acces Tag class here
= ft.check_box tag.id
= tag.name
= f.submit 'Save'
이러한 형태의 강제 나
문제는이 같은 태그 ID의 배열 게시물을 초기화 할 수 없습니다입니다 어느 컨트롤러에서든 해킹 할 수는 있지만 나쁜 습관으로 보입니다. ActiveRecord :: Base 이니셜 라이저를 재정의하여 첫 번째 예제가 작동하도록 ID를 허용 할 수 있다고 생각했지만 여기에 뭔가 빠졌습니다.