Rails jQuery POST - ArgumentError - wrong number of arguments (1 to 0)?

I am using rails 4.1.

I have a custom controller. I configured the routes with:

resources :chats

I am trying to make a post request to a controller using jQuery. Here is the code:

$.post('/chats/', { session: { advisor_id: $(this).attr('data-id') } }, function (data) {
    eval(data);
});

Edit: And here is the code for my controller -

class ChatsController < ApplicationController

  def create
    #create the new session
    @session = Session.create(:advisor_id => session_params[:advisor_id], :session_type => @session.call!, :client_id => current_user.id)

  end

  private
    def session_params
     params[:session].permit(:advisor_id, :client_id, :session_type)
    end
end

Edit: And here is the code of my model -

class Session < ActiveRecord::Base
  enum session_type: [ :chat, :call ]
  belongs_to :client, :class_name => "User", :foreign_key => :client_id
  belongs_to :advisor, :class_name => "User", :foreign_key => :advisor_id
  has_many :instant_messages

  def self.obj_name(id)
    o = Session.find(id)
    "#{o.client.full_name} and #{o.advisor.full_name}"
  end
end

However, it throws an error that:

ArgumentError - (1 0):   activesupport (4.1.1) lib/active_support/callbacks.rb: 80: in run_callbacks' actionpack (4.1.1) lib/abstract_controller/callbacks.rb:19:in process_action '   actionpack (4.1.1) lib/action_controller/metal/rescue.rb: 29: in process_action' actionpack (4.1.1) lib/action_controller/metal/instrumentation.rb:31:in block in process_action '   activesupport (4.1.1) lib/active_support/notifications.rb: 159: in block in instrument' activesupport (4.1.1) lib/active_support/notifications/instrumenter.rb:20:in instrument '   activesupport (4.1.1) lib/active_support/notifications.rb: 159: in instrument' actionpack (4.1.1) lib/action_controller/metal/instrumentation.rb:30:in process_action '   actionpack (4.1.1) lib/action_controller/metal/params_wrapper.rb: 250: in process_action' activerecord (4.1.1) lib/active_record/railties/controller_runtime.rb:18:in process_action '   actionpack (4.1.1) lib/abstract_controller/base.rb: 136: in process' actionview (4.1.1) lib/action_view/rendering.rb:30:in process '   actionpack (4.1.1) lib/action_controller/metal.rb: 195: in dispatch' actionpack (4.1.1) lib/action_controller/metal/rack_delegation.rb:13:in '   actionpack (4.1.1) lib/action_controller/metal.rb: 231: in block in action' actionpack (4.1.1) lib/action_dispatch/routing/route_set.rb:80:in '   actionpack (4.1.1) lib/action_dispatch/routing/route_set.rb: 48: in call' actionpack (4.1.1) lib/action_dispatch/journey/router.rb:71:in block in call '   actionpack (4.1.1) lib/action_dispatch/travel/router.rb: 59: in call' actionpack (4.1.1) lib/action_dispatch/routing/route_set.rb:676:in call '   rack-pjax (0.7.0) lib/rack/pjax.rb: 12: in call' warden (1.2.3) lib/warden/manager.rb:35:in block in call '   warden (1.2.3) lib/warden/manager.rb: 34: in call' rack (1.5.2) lib/rack/etag.rb:23:in call '   rack (1.5.2) lib/rack/conditionalget.rb: 35: in call' rack (1.5.2) lib/rack/head.rb:11:in call '   remotipart (1.2.1) lib/remotipart/middleware.rb: 27: in call' actionpack (4.1.1) lib/action_dispatch/middleware/params_parser.rb:27:in call '   actionpack (4.1.1) lib/action_dispatch/middleware/flash.rb: 254: in call' rack (1.5.2) lib/rack/session/abstract/id.rb:225:in context '   (1.5.2) lib/rack/session/abstract/id.rb: 220: in call' actionpack (4.1.1) lib/action_dispatch/middleware/cookies.rb:560:in call '   activerecord (4.1.1) lib/active_record/query_cache.rb: 36: in call' activerecord (4.1.1) lib/active_record/connection_adapters/abstract/connection_pool.rb:621:in call '   activerecord (4.1.1) lib/active_record/migration.rb: 380: in call' actionpack (4.1.1) lib/action_dispatch/middleware/callbacks.rb:29:in block in call '   activesupport (4.1.1) lib/active_support/callbacks.rb: 82: in run_callbacks' actionpack (4.1.1) lib/action_dispatch/middleware/callbacks.rb:27:in call '   actionpack (4.1.1) lib/action_dispatch/middleware/reloader.rb: 73: in call' actionpack (4.1.1) lib/action_dispatch/middleware/remote_ip.rb:76:in call '   best_errors (1.1.0) lib/better_errors/middleware.rb: 84: in protected_app_call' better_errors (1.1.0) lib/better_errors/middleware.rb:79:in better_errors_call '   best_errors (1.1.0) lib/better_errors/middleware.rb: 56: in call' actionpack (4.1.1) lib/action_dispatch/middleware/debug_exceptions.rb:17:in call '   actionpack (4.1.1) lib/action_dispatch/middleware/show_exceptions.rb: 30: in call' railties (4.1.1) lib/rails/rack/logger.rb:38:in call_app '   railties (4.1.1) lib/rails/rack/logger.rb: 20: in block in call' activesupport (4.1.1) lib/active_support/tagged_logging.rb:68:in block in tagged '   activesupport (4.1.1) lib/active_support/tagged_logging.rb: 26: in tagged' activesupport (4.1.1) lib/active_support/tagged_logging.rb:68:in tagged '   raines (4.1.1) lib/rails/rack/logger.rb: 20: in call' quiet_assets (1.0.2) lib/quiet_assets.rb:18:in call_with_quiet_assets '   actionpack (4.1.1) lib/action_dispatch/middleware/request_id.rb: 21: in call' rack (1.5.2) lib/rack/methodoverride.rb:21:in call '   rack (1.5.2) lib/rack/runtime.rb: 17: in call' activesupport (4.1.1) lib/active_support/cache/strategy/local_cache_middleware.rb:26:in call '   rack (1.5.2) lib/rack/lock.rb: 17: in call' actionpack (4.1.1) lib/action_dispatch/middleware/static.rb:64:in call '   rack (1.5.2) lib/rack/sendfile.rb: 112: in call' railties (4.1.1) lib/rails/engine.rb:514:in call '   railties (4.1.1) lib/rails/application.rb: 144: in call' rack (1.5.2) lib/rack/content_length.rb:14:in call '    (1.6.2) lib/thin/connection.rb: 86: in block in pre_process' thin (1.6.2) lib/thin/connection.rb:84:in pre_process '    (1.6.2) lib/thin/connection.rb: 53: in process' thin (1.6.2) lib/thin/connection.rb:39:in receive_data '   eventmachine (1.0.3) lib/eventmachine.rb: 187: in run' thin (1.6.2) lib/thin/backends/base.rb:73:in start '   thin (1.6.2) lib/thin/server.rb: 162: in start' rack (1.5.2) lib/rack/handler/thin.rb:16:in run '   rack (1.5.2) lib/rack/server.rb: 264: in start' railties (4.1.1) lib/rails/commands/server.rb:69:in start '   railties (4.1.1) lib/rails/commands/commands_tasks.rb: 81: in block in server' railties (4.1.1) lib/rails/commands/commands_tasks.rb:76:in server '   railties (4.1.1) lib/rails/commands/commands_tasks.rb: 40: in run_command!' railties (4.1.1) lib/rails/commands.rb:17:in '   bin/rails: 8: in <top (required)>' ruby-debug-ide (0.4.23.beta1) lib/ruby-debug-ide.rb:86:in debug_program '   ruby-debug-ide (0.4.23.beta1) bin/rdebug-ide: 110: in <top (required)>' -e:1:in '

? ?

+4
1

. , , "". , "" - , ruby ​​ .

"ruby". send() Ruby?

+8

Source: https://habr.com/ru/post/1545793/


All Articles