2013-02-05 3 views
0

레이크 작업 자체가 붙어있어 :레이크 작업은 내가

desc "This task creates a new user" 
task :create_user, [:email, :password] => :environment do |t, args| 
    trole = Role.find_by_name('translator') 
    User.create(
     :email => args.email, 
     :password => args.password, 
     :password_confirmation => args.password, 
     :role_id => trole.id) 
end 

호출 :

rake create_user[[email protected],password] 

출력 : 정말 붙어있어

rake aborted! 
Don't know how to build task 'create_user' 

. StackOverflow에서 발견 한 모든 조언은 두 개의 매개 변수를 사용하여 상황을 파악하지 못하거나 오래된 것/작동하지 않는 것 중 하나입니다. 도와주세요!

+2

그 오류 메시지는 작업 자체를 찾을 수 없다고 제안합니다. '레이크 -T '를하면 그것을 볼 수 있습니까? – Shadwell

+1

이는 작업 자체에서 오류가 아닌로드되고 있음을 나타냅니다. – Shadwell

+1

이것은 Ruby의 브랜드 질환입니다. 발생한 오류를 정확히 파악할 수있는 정확한 오류 메시지를 제공하지 않습니다. 이 특별한 경우에 'rake가'create_user '라는 이름으로 작업을 찾을 수 없다는 것을 말할까요? 오래 전이 문제를 해결했을 것입니다. – Paul

답변

0

작성한 구문은 bash에서 잘 작동하므로 zsh를 사용하고 있다고 생각하십니까?

그렇다면 []을 올바르게 구문 분석 할 수 없으므로 이스케이프 처리해야합니다. 사용

보십시오 : 대신

rake create_user\[[email protected],password\] 

.

+0

문제가 zsh와 관련되어 있으면 'rake'create_user [user @ host.com, password] ''또는'noglob rake create_user [user @ host.com, password]'를 사용할 수도 있습니다. Robbie Russell의 [oh-my-zsh] (https://github.com/robbyrussell/oh-my-zsh)를 사용하는 경우 [rake plugin] (https://github.com/robbyrussell/oh)을 활성화하십시오. -my-zsh/blob/master/plugins/rake/rake.plugin.zsh) 자동으로'noglob'를 추가합니다. –

+0

정답은 질문에 대한 의견입니다. – Paul