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
2763
2763
constraint = opts [ :name ] ||
2764
2764
case get_assoc ( changeset , assoc ) do
2765
2765
% Ecto.Association.BelongsTo { owner_key: owner_key } ->
2766
- "#{ get_source ( changeset ) } _#{ owner_key } _fkey"
2766
+ "#{ get_source ( changeset ) } _#{ atom_concat owner_key } _fkey"
2767
2767
other ->
2768
2768
raise ArgumentError ,
2769
2769
"assoc_constraint can only be added to belongs to associations, got: #{ inspect other } "
@@ -2814,7 +2814,7 @@ defmodule Ecto.Changeset do
2814
2814
case get_assoc ( changeset , assoc ) do
2815
2815
% Ecto.Association.Has { cardinality: cardinality ,
2816
2816
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" ,
2818
2818
message ( opts , no_assoc_message ( cardinality ) ) }
2819
2819
other ->
2820
2820
raise ArgumentError ,
@@ -3000,6 +3000,12 @@ defmodule Ecto.Changeset do
3000
3000
_ -> acc
3001
3001
end
3002
3002
end
3003
+
3004
+ defp atom_concat ( atoms ) do
3005
+ atoms
3006
+ |> Enum . map ( & to_string / 1 )
3007
+ |> Enum . join ( "_" )
3008
+ end
3003
3009
end
3004
3010
3005
3011
defimpl Inspect , for: Ecto.Changeset do
You can’t perform that action at this time.
0 commit comments