0

I can sync with my backbone server perfectly well using the collection.fetch method

UserActionCollection extends Backbone.Collection
  url: "/api/user_actions"
  model: UserActionModel

userActions = new UserActionCollection()
userActions.fetch()

This fills up my collection with the expected models

However when I attempt to add a data filter

userActions.fetch({data: $.param({collabList: true })})

My ruby on rails server pops up this error:

Processing by UserActionsController#index as JSON
  Parameters: {"collabList"=>"true"}
Completed 500 Internal Server Error in 9214ms

ArgumentError (wrong number of arguments (0 for 1..2)):
  app/models/user_action.rb:16:in `filter_by_params'
  app/controllers/user_actions_controller.rb:14:in `index'

My Controller for the index fetch is:

  def index
    respond_with UserAction.filter_by_params(params)
  end

My Model Definition with the definition for filter_by_params

class UserAction < ActiveRecord::Base
  attr_accessible :action, :context, :itemID, :itemType, :userId, :userName, :userEmail

  def self.filter_by_params(params)
    scoped = self.scoped

    if (params[:collabList])
      scoped = scoped.uniq.pluck(:userName)
    end
    return scoped
  end
end

I stuck a binding.pry at the controllers index method and when I call userActions.fetch() the params value is:

[1] pry(#<UserActionsController>)> params
=> {"action"=>"index", "controller"=>"user_actions"}

And everything works when I continue.

When I call the userActions.fetch({data: $.param({collabList: true })}) you can see the params value below:

    12: def index
 => 13:   binding.pry
    14:   respond_with UserAction.filter_by_params(params)
    15: end

[1] pry(#<UserActionsController>)> params
=> {"collabList"=>"true", "action"=>"index", "controller"=>"user_actions"}

When I type next and process line 14, It throws an exception

#<ArgumentError: wrong number of arguments (0 for 1..2)>

Am I passing in parameters incorrectly?
Is there some reason the params variable isn't being passed in?

Thanks for any help/insight you can give me!

4

1 回答 1

0

重新启动我的 Rails 服务器修复了它。

于 2013-08-22T20:16:23.243 回答