우리는 수작업으로 관계를 테스트하는 테스트를 많이하고 있습니다. 우리는 같은 것을 수행Elixir Phoenix에서 JSON-api 관계를 동적으로 생성합니다.
defp build_relationships(relationship_map, user) do
relationship_map |> Map.put(:user, %{data: %{id: user.id}})
end
이 잘 작동을하지만 기록의 모든 종류의 (단지 사용자)을 채택하는 것이 유연하게하고 싶다. 참고로 user
은 ex-machina
으로 생성되며 insert(:user)
입니다.
전달되는 레코드의 type
을 얻을 수있는 방법이 있습니까? "user"
이라고하는 문자열을 얻을 수 있다면 String.to_atom(param)
을 사용하고 Map.put
에 전달할 수 있지만이를 수행하는 우아한 방법을 찾을 수 없습니다.
실제 질문은 user
과 같은 레코드를 가져 와서 :user
의 원자를 반환하는 것입니다.
도움을 주시면 감사하겠습니다.
iex(1)> %Post{}.__struct__.__schema__(:source)
"posts"
을하지만 일이 없기 때문에 :
빠른 응답을 보내 주셔서 감사합니다. 이 프로젝트에는 많은 기여자가 있기 때문에 세 번째를 시도하는 것을 주저합니다. 나중에 업데이트해야하는 도우미를 작성하고 싶지 않습니다. 나는 그것을 시험해 보았다. 그리고 그것은 잘 작동한다! 옵션 2를 사용할 수 있습니다. 도움에 감사드립니다! – sbatson5
@ sbatson5 방금 추가 한 네 번째 옵션을 참조하십시오. 나는 당신의 사용에 더 나을 수있는 더 나은 방법을 생각했습니다. – Dogbert
고마워요! 이것은 내가 필요한 것입니다. 궁금한 점이 있으시면 여기에서 구현되는 홍보를보실 수 있습니다 : https://github.com/code-corps/code-corps-api/pull/358/files – sbatson5