Skip to content
This repository has been archived by the owner on Dec 12, 2021. It is now read-only.

ActiveModel::ForbiddenAttributesError using Rails 4 #894

Open
kashiftufail opened this issue Jul 7, 2013 · 3 comments
Open

ActiveModel::ForbiddenAttributesError using Rails 4 #894

kashiftufail opened this issue Jul 7, 2013 · 3 comments

Comments

@kashiftufail
Copy link

Hi,

I am using Rails 4 and don't find any branch especially for Rails 4.

My ability.rb code.

 def initialize(user)
      # Define abilities for the passed in user here. For example:
      #
      user ||= User.new # guest user (not logged in)
     if user.role.name == "super_admin"
       can :manage, :all
     elsif user.role.name == "job_admin"
         can :manage, Job , :job => { :id => user.job_ids }
         can :manage, JobUser
     else
          can :read, Job
          can :new, JobUser
           can :create, JobUser
    end
 end

My JobUser controller code.

 class JobUsersController < ApplicationController
      #before_action :set_job, only: [:show]
       layout "application"
       load_and_authorize_resource

     def create
      #custom code
      binding.pry
    end

 end

Before implement CanCan it was working fine. But after post "JobUser" form control not come in "create" method.

Below is trace

activemodel (4.0.0) lib/active_model/forbidden_attributes_protection.rb:21:in sanitize_for_mass_assignment' activerecord (4.0.0) lib/active_record/attribute_assignment.rb:21:inassign_attributes'
activerecord (4.0.0) lib/active_record/core.rb:192:in initialize' activerecord (4.0.0) lib/active_record/inheritance.rb:27:innew'
activerecord (4.0.0) lib/active_record/inheritance.rb:27:in new' cancan (1.6.10) lib/cancan/controller_resource.rb:85:inbuild_resource'
cancan (1.6.10) lib/cancan/controller_resource.rb:66:in load_resource_instance' cancan (1.6.10) lib/cancan/controller_resource.rb:32:inload_resource'
cancan (1.6.10) lib/cancan/controller_resource.rb:25:in load_and_authorize_resource' cancan (1.6.10) lib/cancan/controller_resource.rb:10:inblock in add_before_filter'
activesupport (4.0.0) lib/active_support/callbacks.rb:387:in _run__2184254992644949417__process_action__callbacks' activesupport (4.0.0) lib/active_support/callbacks.rb:80:inrun_callbacks'
actionpack (4.0.0) lib/abstract_controller/callbacks.rb:17:in process_action' actionpack (4.0.0) lib/action_controller/metal/rescue.rb:29:inprocess_action'
actionpack (4.0.0) lib/action_controller/metal/instrumentation.rb:31:in block in process_action' activesupport (4.0.0) lib/active_support/notifications.rb:159:inblock in instrument'
activesupport (4.0.0) lib/active_support/notifications/instrumenter.rb:20:in instrument' activesupport (4.0.0) lib/active_support/notifications.rb:159:ininstrument'
actionpack (4.0.0) lib/action_controller/metal/instrumentation.rb:30:in process_action' actionpack (4.0.0) lib/action_controller/metal/params_wrapper.rb:245:inprocess_action'
activerecord (4.0.0) lib/active_record/railties/controller_runtime.rb:18:in process_action' actionpack (4.0.0) lib/abstract_controller/base.rb:136:inprocess'
actionpack (4.0.0) lib/abstract_controller/rendering.rb:44:in process' actionpack (4.0.0) lib/action_controller/metal.rb:195:indispatch'
actionpack (4.0.0) lib/action_controller/metal/rack_delegation.rb:13:in dispatch' actionpack (4.0.0) lib/action_controller/metal.rb:231:inblock in action'
actionpack (4.0.0) lib/action_dispatch/routing/route_set.rb:80:in call' actionpack (4.0.0) lib/action_dispatch/routing/route_set.rb:80:indispatch'
actionpack (4.0.0) lib/action_dispatch/routing/route_set.rb:48:in call' actionpack (4.0.0) lib/action_dispatch/journey/router.rb:71:inblock in call'
actionpack (4.0.0) lib/action_dispatch/journey/router.rb:59:in each' actionpack (4.0.0) lib/action_dispatch/journey/router.rb:59:incall'
actionpack (4.0.0) lib/action_dispatch/routing/route_set.rb:655:in call' rack-pjax (0.7.0) lib/rack/pjax.rb:12:incall'
warden (1.2.1) lib/warden/manager.rb:35:in block in call' warden (1.2.1) lib/warden/manager.rb:34:incatch'
warden (1.2.1) lib/warden/manager.rb:34:in call' rack (1.5.2) lib/rack/etag.rb:23:incall'
rack (1.5.2) lib/rack/conditionalget.rb:35:in call' rack (1.5.2) lib/rack/head.rb:11:incall'
remotipart (1.0.5) lib/remotipart/middleware.rb:30:in call' actionpack (4.0.0) lib/action_dispatch/middleware/params_parser.rb:27:incall'
actionpack (4.0.0) lib/action_dispatch/middleware/flash.rb:241:in call' rack (1.5.2) lib/rack/session/abstract/id.rb:225:incontext'
rack (1.5.2) lib/rack/session/abstract/id.rb:220:in call' actionpack (4.0.0) lib/action_dispatch/middleware/cookies.rb:486:incall'
activerecord (4.0.0) lib/active_record/query_cache.rb:36:in call' activerecord (4.0.0) lib/active_record/connection_adapters/abstract/connection_pool.rb:626:incall'
activerecord (4.0.0) lib/active_record/migration.rb:369:in call' actionpack (4.0.0) lib/action_dispatch/middleware/callbacks.rb:29:inblock in call'
activesupport (4.0.0) lib/active_support/callbacks.rb:373:in _run__338247035968918040__call__callbacks' activesupport (4.0.0) lib/active_support/callbacks.rb:80:inrun_callbacks'
actionpack (4.0.0) lib/action_dispatch/middleware/callbacks.rb:27:in call' actionpack (4.0.0) lib/action_dispatch/middleware/reloader.rb:64:incall'
actionpack (4.0.0) lib/action_dispatch/middleware/remote_ip.rb:76:in call' actionpack (4.0.0) lib/action_dispatch/middleware/debug_exceptions.rb:17:incall'
actionpack (4.0.0) lib/action_dispatch/middleware/show_exceptions.rb:30:in call' railties (4.0.0) lib/rails/rack/logger.rb:38:incall_app'
railties (4.0.0) lib/rails/rack/logger.rb:21:in block in call' activesupport (4.0.0) lib/active_support/tagged_logging.rb:67:inblock in tagged'
activesupport (4.0.0) lib/active_support/tagged_logging.rb:25:in tagged' activesupport (4.0.0) lib/active_support/tagged_logging.rb:67:intagged'
railties (4.0.0) lib/rails/rack/logger.rb:21:in call' actionpack (4.0.0) lib/action_dispatch/middleware/request_id.rb:21:incall'
rack (1.5.2) lib/rack/methodoverride.rb:21:in call' rack (1.5.2) lib/rack/runtime.rb:17:incall'
activesupport (4.0.0) lib/active_support/cache/strategy/local_cache.rb:83:in call' rack (1.5.2) lib/rack/lock.rb:17:incall'
actionpack (4.0.0) lib/action_dispatch/middleware/static.rb:64:in call' railties (4.0.0) lib/rails/engine.rb:511:incall'
railties (4.0.0) lib/rails/application.rb:97:in call' rack (1.5.2) lib/rack/lock.rb:17:incall'
rack (1.5.2) lib/rack/content_length.rb:14:in call' rack (1.5.2) lib/rack/handler/webrick.rb:60:inservice'
/home/kashif/.rvm/rubies/ruby-2.0.0-p0/lib/ruby/2.0.0/webrick/httpserver.rb:138:in service' /home/kashif/.rvm/rubies/ruby-2.0.0-p0/lib/ruby/2.0.0/webrick/httpserver.rb:94:inrun'
/home/kashif/.rvm/rubies/ruby-2.0.0-p0/lib/ruby/2.0.0/webrick/server.rb:295:in `block in start_thread'
Request

Parameters:

{"utf8"=>"✓",
"authenticity_token"=>"2gLYn92JkJ7r7YEwk1zWApeNQ5Kb4+D1T4paaMivm0w=",
"job_user"=>{"cover_letter"=>""},
"_wysihtml5_mode"=>"1",
"commit"=>"Apply",
"job_id"=>"IvSkJMl9JB1mWGL57MNHnA55FLhF3W"}

Any help please?

Thanks

@FoboCasteR
Copy link

#835

@suxu
Copy link

suxu commented Aug 28, 2013

The same problem Rails 4.0

@xhoy
Copy link

xhoy commented Jul 1, 2014

Thanks for your submission! The ryanb/cancan repository has been inactive since Sep 06, 2013.
Since only Ryan himself has commit permissions, the CanCan project is on a standstill.

CanCan has many open issues, including missing support for Rails 4. To keep CanCan alive, an active fork exists at cancancommunity/cancancan. The new gem is cancancan. More info is available at #994.

If your pull request or issue is still applicable, it would be really appreciated if you resubmit it to CanCanCan.

We hope to see you on the other side!

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants