ho questo strano problema dove se faccio:Perché ricevo Constant non inizializzato per un compito rastrello, Rails 4.1.8
namespace :xaaron do
task :get_roles do
roles = Xaaron::Role.all
puts roles
end
task :get_role, [:name] do |t, args|
role = Xaaron::Role.find(args[:name].parameterize)
puts role
end
end
Il primo compito funzionerà perfettamente bene. Posso anche inserire un binding.pry
nel lato e fare Xaaron::Role
e ottenere informazioni sui ruoli indietro. Ma il secondo compito esplode affermando NameError: uninitialized constant Xaaron::Role
Eseguo ogni attività, nella mia app principale (poiché queste attività sono all'interno di un motore) come: bin/rake xaaron:get_roles
e bin/rake xaaron:get_role
.
Perché il secondo esplode ma il primo non lo è? C'è una cosa scoping che va avanti con argomenti?
Aggiornamento
Vorrei sottolineare che io possa fare un bin/rails c
nella applicazione principale che utilizza detto motore e fare Xaaron::Role
e ottenere informazioni sulla tabella di ruoli.
ovviamente rota e penso che carichi l'ambiente predefinito. Che si tratti di sviluppo o produzione o cosa mai. Ma ammetti quello che dici provando in base ai voti alla tua risposta. – SeekingTruth
Inoltre non è possibile eseguire task ': something => [: environment], [: param] do | t, args | ... end' con il tuo "esempio" puoi chiarire come potrei passare agli argomenti? – SeekingTruth
try ': something, [: param] => [: environment]' – DGM