3

我想使用“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'

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

4

2 回答 2

1

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

于 2012-11-05T20:27:31.763 回答
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`
于 2012-11-05T20:53:37.133 回答