使用TinymceSpellcheck时的ArgumentError

时间:2012-11-05 20:13:48

标签: ruby-on-rails tinymce spell-checking

我想使用'tinymce_spellcheck'在我的tinymce编辑器中使用拼写检查按钮。     我在控制器中写道:

def spellcheck
  data = ActiveSupport::JSON.decode(request.raw_post)
  args = data['params'].to_a.first
  spellcheck = TinymceSpellcheck.new({}, :raspell)
  result = spellcheck.send(data['method'].underscore,*args)  #****---- THIS LINE****
  render :json => { :id => data['id'], :result => result, :error => nil }.to_json
end 

我收到以下错误消息:

ArgumentError (wrong number of arguments (1 for 2)):
app/controllers/members_controller.rb:127:in `spellcheck'

你会好心地告诉我如何解决这个问题吗?我提供了两个参数,然而,我一次又一次地收到相同的错误消息。

2 个答案:

答案 0 :(得分:1)

好吧,问题可能是args为空或为零,所以当你调用它上面的splat时,它会变成零参数。因此,您唯一的参数是'方法',并且您得到一个ArgumentError。

答案 1 :(得分:0)

def spellcheck
`data = ActiveSupport::JSON.decode(request.raw_post)
 args = data['params'].to_a.first
 spellcheck = TinymceSpellcheck.new({}, :raspell)
 result = spellcheck.send(data['method'].underscore,*args)  
 render :json => { :id => data['id'], :result => result, :error => nil }.to_json
 end`

 The  line `args = data['params'].to_a.first` was changed to`args = data['params'].to_a`