rails nested form으로부터 받아온 데이터 다루기

조회수 1680회

안녕하세요. 개인 프로젝트를 ruby on rails를 이용하여 만들어보는 과정중에 ror을 ror답게 해결하고 싶은데 막히는 부분이 있어서 질문 올려봅니다.

저한테 지금 모델이 2개(Link, Tag)가 있고, 이 둘의 관계는 has_and_belongs_to_many 로 M:N의 관계를 설정하였습니다.

또한 뷰의 nested form을 통해 데이터를 받으면

{"utf8"=>"✓", "authenticity_token"=>"~~", "link"=>{"title"=>"title3", "url"=>"url3", "tags_attributes"=>{"0"=>{"name"=>"tag1"}, "1"=>{"name"=>"tag2"}, "2"=>{"name"=>"tag3"}}}, "commit"=>"Create"}

위와 같이 데이터가 받아와집니다.

저는 "tags_attributes"=>{"0"=>{"name"=>"tag1"}, "1"=>{"name"=>"tag2"}, "2"=>{"name"=>"tag3"}} 여기 에서 tag1, tag2, tag3 를 배열로 바로 얻고 싶은데 관련 메소드가 있을까요?

hash의 형태이니, each랑 Array.new 해서 그냥 때려넣으면 해결할 수는 있겠지만 더 좋은 방법이 있을까해서 질문 올려봅니다.

  • (•́ ✖ •̀)
    알 수 없는 사용자

1 답변

  • class Member < ActiveRecord::Base
      accepts_nested_attributes_for :avatar, allow_destroy: true
    end
    

    이렇게 accepts_nested_attributes_for를 사용해 보시겠어요?

    이렇게 하면 has_many관계에서는 위에 올려주신것처럼 form을 통해 받으면 내용이 잘 설정이 되는데 has_and_belongs_to_many에서도 잘 될지는 모르겠네요.

    • 아! 넵! accepts_nested)attributes_for도 설정하였습니다! 현재는 다른 방향으로 구현중이라서 약간..? 해결된 문제이지만 답변 정말 감사드립니다! 알 수 없는 사용자 2017.7.6 17:29

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)