mam ten dziwny problem, jeśli mam zrobić:Dlaczego otrzymuję niezainicjowanej stała dla zadania Rake, 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
Pierwszym zadaniem będzie działać perfekcyjnie. Mogę nawet umieścić binding.pry
na boku i zrobić Xaaron::Role
i odzyskać informacje o Role. Ale drugie zadanie wybucha stwierdzając, że każde zadanie wykonuję w mojej głównej aplikacji (ponieważ te zadania są wewnątrz silnika) jako: bin/rake xaaron:get_roles
i bin/rake xaaron:get_role
.
Dlaczego druga eksploduje, ale pierwsza nie? Czy jest coś, co się dzieje z argumentami?
Aktualizacja
Należy zauważyć, że mogę zrobić bin/rails c
w głównej aplikacji, która wykorzystuje wspomniany silnik i zrobić Xaaron::Role
i uzyskać informacje na temat ról tabeli.
oczywiście to szyny i myślę, że ładuje domyślne środowisko. Czy to rozwój, produkcja, czy jakikolwiek inny produkt. Ale źle oddaj to, co mówisz, próbując na podstawie głosów na twoją odpowiedź. – SeekingTruth
Nie można również wykonać zadania ': something => [: environment], [: param] do | t, args | ... koniec "ze swoim" przykładem ", czy możesz wyjaśnić, w jaki sposób mogę przekazywać argumenty? – SeekingTruth
try ': something, [: param] => [: environment]' – DGM