numero errato di argomenti (dato 3, atteso 1..2)
Aug 24 2020
Sono nuovo su Rails 6 e sto ricevendo un errore sopra. Per favore controlla il codice qui sotto e aiutami a uscire da questo. Grazie!
has_many :coaches, ->{where('max_unit > 0 and active = 1').order('trim(full_name)')}, ->{select((Account.column_names - ['photo_file']).map { |column_name| "`accounts`.`#{column_name}`"})}, :through => :qualifications
backtrace: ArgumentError (numero errato di argomenti (dati 3, previsti 1..2)):
app/models/language.rb:9:in
<class:Language>' app/models/language.rb:1:in
' app/models/account.rb:142:inmanage_substitutions' app/controllers/extranet/homes_controller.rb:11:in
index'
Risposte
1 maxpleaner Aug 24 2020 at 11:40
Stai dando due lambda come argomenti separati qui.
Il primo è
->{where('max_unit > 0 and active = 1').order('trim(full_name)')}`
Il secondo è
->{select((Account.column_names - ['photo_file']).map { |column_name| "`accounts`.`#{column_name}`"})}
Questo non è valido. Dovresti combinare i due lambda in uno:
-> {
where('max_unit > 0 and active = 1').
order('trim(full_name)').
select((Account.column_names - ['photo_file']).map { |column_name| "`accounts`.`#{column_name}`"})
}
Dovresti anche controllare questo, è un modo potenzialmente più pulito per farlo:https://stackoverflow.com/a/33939206/2981429