File tree Expand file tree Collapse file tree 1 file changed +8
-2
lines changed Expand file tree Collapse file tree 1 file changed +8
-2
lines changed Original file line number Diff line number Diff line change @@ -2763,7 +2763,7 @@ defmodule Ecto.Changeset do
27632763 constraint = opts [ :name ] ||
27642764 case get_assoc ( changeset , assoc ) do
27652765 % Ecto.Association.BelongsTo { owner_key: owner_key } ->
2766- "#{ get_source ( changeset ) } _#{ owner_key } _fkey"
2766+ "#{ get_source ( changeset ) } _#{ atom_concat owner_key } _fkey"
27672767 other ->
27682768 raise ArgumentError ,
27692769 "assoc_constraint can only be added to belongs to associations, got: #{ inspect other } "
@@ -2814,7 +2814,7 @@ defmodule Ecto.Changeset do
28142814 case get_assoc ( changeset , assoc ) do
28152815 % Ecto.Association.Has { cardinality: cardinality ,
28162816 related_key: related_key , related: related } ->
2817- { opts [ :name ] || "#{ related . __schema__ ( :source ) } _#{ related_key } _fkey" ,
2817+ { opts [ :name ] || "#{ related . __schema__ ( :source ) } _#{ atom_concat related_key } _fkey" ,
28182818 message ( opts , no_assoc_message ( cardinality ) ) }
28192819 other ->
28202820 raise ArgumentError ,
@@ -3000,6 +3000,12 @@ defmodule Ecto.Changeset do
30003000 _ -> acc
30013001 end
30023002 end
3003+
3004+ defp atom_concat ( atoms ) do
3005+ atoms
3006+ |> Enum . map ( & to_string / 1 )
3007+ |> Enum . join ( "_" )
3008+ end
30033009end
30043010
30053011defimpl Inspect , for: Ecto.Changeset do
You can’t perform that action at this time.
0 commit comments