2016-03-28 3 views
0

У меня проблема с ruby, в первом файле, client.rb, у меня есть код# <ArgumentError: неправильное количество аргументов (1 для 2)> в admin.rb: 32: in `kick '

# Kicks a user from chat. Requires mod rights (or above) 
# @param [String] user 
def kick(user) 
    post(:msgType => :command, :command => :kick, :userToKick => user) 
    end 

и в коде, который имеет ошибки сценария является

match /^kick/, :method => :kick 

# @param [User] user 
# @param [String] target 
def kick(user, target) 
    if user.is? :mod 
    @client.kick(target) 
    end 
end 

и ив получил ошибку на названии что является проблемой ?? Я пробовал все ..

+0

Что такое цель? Вы хотите использовать один или два аргумента? –

+0

его судя по использованию двух аргументов, я имею в виду, его для чата, цель была бы человеком, которого нужно пнуть, пользователь сам, но ... Я не уверен, что я делаю неправильно или как ее решить –

+0

Два аргумента ... Цель будет человеком в чате, чтобы ударить, пользователь, ну, человек, выполняющий команду. –

ответ

0

Вы хотите: match /^kick (.*)/, :method => :kick, а не match /^kick/, :method => :kick. Каждая группа захвата в проходящем матче регулярного выражения передается в качестве аргумента указанному методу - без группы захвата будет передано только user.

See example here

Смежные вопросы