2013-09-23 39 views
1

完全難住這個。我不能讓過去這個ForbiddenAttributesError另一個控制器邪惡的寶石

class AfterSignupController < Wicked::WizardController 

    before_filter :authenticate_user! 

    steps :complete_basic_profile, :complete_skills, :complete_address, :complete_avatar 



    def show 
     @person = current_user.person 
     render_wizard 
    end 

    def update 
     @person = current_user.person 
     @person.update(params[:person]) 
     render_wizard @person 
    end 


    def after_signup_params 
     params.require(:person).permit(:first_name, :last_name, :headline, :description) 
     end 

    def person_params 
     params.require(:person).permit(:first_name, :last_name, :headline, :description) 
     end 


    end 

的形式發佈

"person"=>{"first_name"=>"Job", "last_name"=>"Seeker", "headline"=>"", "description"=>""} 

但我不能讓過去的這個錯誤

 Started PATCH "/after_signup/complete_basic_profile" for 127.0.0.1 at 2013-09-23 22:10:53 +0800 
    DEPRECATION WARNING: Using #scope without passing a callable object is deprecated. For example `scope :red, where(color: 'red')` should be changed to `scope :red, -> { where(color: 'red') }`. There are numerous gotchas in the former usage and it makes the implementation more complicated and buggy. (If you prefer, you can just define a class method named `self.red`.). (called from <class:User> at /home/user/workspace/testappapp/models/user.rb:36) 
    /home/user/.rvm/gems/ruby-2.0.0-p247/bundler/gems/twitter-bootstrap-rails-40ffd567ee6b/app/helpers/bootstrap_flash_helper.rb:2: warning: already initialized constant BootstrapFlashHelper::ALERT_TYPES 
    /home/user/.rvm/gems/ruby-2.0.0-p247/bundler/gems/twitter-bootstrap-rails-40ffd567ee6b/app/helpers/bootstrap_flash_helper.rb:2: warning: previous definition of ALERT_TYPES was here 
    Processing by AfterSignupController#update as HTML 
    Parameters: {"utf8"=>"✓", "authenticity_token"=>"8t8UNlC8kfbAj+RUtz1LzRywrvtoAEBD7elR2C88KfU=", "person"=>{"first_name"=>"Job", "last_name"=>"Seeker", "headline"=>"", "description"=>""}, "commit"=>"Continue", "id"=>"complete_basic_profile"} 
    User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 1 ORDER BY `users`.`id` ASC LIMIT 1 
    Person Load (0.3ms) SELECT `people`.* FROM `people` WHERE `people`.`user_id` = 1 ORDER BY `people`.`id` ASC LIMIT 1 
    (0.2ms) BEGIN 
    (0.1ms) ROLLBACK 
    Completed 500 Internal Server Error in 153ms 

    ActiveModel::ForbiddenAttributesError - ActiveModel::ForbiddenAttributesError: 
    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:in `assign_attributes' 
    activerecord (4.0.0) lib/active_record/persistence.rb:229:in `block in update' 
    activerecord (4.0.0) lib/active_record/transactions.rb:326:in `block in with_transaction_returning_status' 
    activerecord (4.0.0) lib/active_record/connection_adapters/abstract/database_statements.rb:202:in `block in transaction' 
    activerecord (4.0.0) lib/active_record/connection_adapters/abstract/database_statements.rb:210:in `within_new_transaction' 
    activerecord (4.0.0) lib/active_record/connection_adapters/abstract/database_statements.rb:202:in `transaction' 
    activerecord (4.0.0) lib/active_record/transactions.rb:209:in `transaction' 
    activerecord (4.0.0) lib/active_record/transactions.rb:323:in `with_transaction_returning_status' 
    activerecord (4.0.0) lib/active_record/persistence.rb:228:in `update' 
    app/controllers/after_signup_controller.rb:18:in `update' 
    actionpack (4.0.0) lib/action_controller/metal/implicit_render.rb:4:in `send_action' 
    actionpack (4.0.0) lib/abstract_controller/base.rb:189:in `process_action' 
    actionpack (4.0.0) lib/action_controller/metal/rendering.rb:10:in `process_action' 
    actionpack (4.0.0) lib/abstract_controller/callbacks.rb:18:in `block in process_action' 
    activesupport (4.0.0) lib/active_support/callbacks.rb:433:in `_run__108139916925402627__process_action__callbacks' 
    activesupport (4.0.0) lib/active_support/callbacks.rb:80:in `run_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:in `process_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:in `block 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:in `instrument' 
    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:in `process_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:in `process' 
    actionpack (4.0.0) lib/abstract_controller/rendering.rb:44:in `process' 
    actionpack (4.0.0) lib/action_controller/metal.rb:195:in `dispatch' 
    actionpack (4.0.0) lib/action_controller/metal/rack_delegation.rb:13:in `dispatch' 
    actionpack (4.0.0) lib/action_controller/metal.rb:231:in `block in action' 
    actionpack (4.0.0) lib/action_dispatch/routing/route_set.rb:80:in `dispatch' 
    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:in `block in call' 
    actionpack (4.0.0) lib/action_dispatch/journey/router.rb:59:in `call' 
    actionpack (4.0.0) lib/action_dispatch/routing/route_set.rb:655: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.0.0) lib/action_dispatch/middleware/params_parser.rb:27:in `call' 
    actionpack (4.0.0) lib/action_dispatch/middleware/flash.rb:241:in `call' 
    rack (1.5.2) lib/rack/session/abstract/id.rb:225:in `context' 
    rack (1.5.2) lib/rack/session/abstract/id.rb:220:in `call' 
    actionpack (4.0.0) lib/action_dispatch/middleware/cookies.rb:486:in `call' 
    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:in `call' 
    activerecord (4.0.0) lib/active_record/migration.rb:369:in `call' 
    actionpack (4.0.0) lib/action_dispatch/middleware/callbacks.rb:29:in `block in call' 
    activesupport (4.0.0) lib/active_support/callbacks.rb:373:in `_run__245650492627359150__call__callbacks' 
    activesupport (4.0.0) lib/active_support/callbacks.rb:80:in `run_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:in `call' 
    actionpack (4.0.0) lib/action_dispatch/middleware/remote_ip.rb:76:in `call' 
    better_errors (1.0.1) lib/better_errors/middleware.rb:84:in `protected_app_call' 
    better_errors (1.0.1) lib/better_errors/middleware.rb:79:in `better_errors_call' 
    better_errors (1.0.1) lib/better_errors/middleware.rb:56:in `call' 
    actionpack (4.0.0) lib/action_dispatch/middleware/debug_exceptions.rb:17:in `call' 
    actionpack (4.0.0) lib/action_dispatch/middleware/show_exceptions.rb:30:in `call' 
    railties (4.0.0) lib/rails/rack/logger.rb:38:in `call_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:in `block 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:in `tagged' 
    railties (4.0.0) lib/rails/rack/logger.rb:21:in `call' 
    quiet_assets (1.0.2) lib/quiet_assets.rb:18:in `call_with_quiet_assets' 
    actionpack (4.0.0) 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.0.0) lib/active_support/cache/strategy/local_cache.rb:83:in `call' 
    rack (1.5.2) lib/rack/lock.rb:17:in `call' 
    actionpack (4.0.0) lib/action_dispatch/middleware/static.rb:64:in `call' 
    railties (4.0.0) lib/rails/engine.rb:511:in `call' 
    railties (4.0.0) lib/rails/application.rb:97:in `call' 
    rack (1.5.2) lib/rack/lock.rb:17:in `call' 
    rack (1.5.2) lib/rack/content_length.rb:14:in `call' 
    rack (1.5.2) lib/rack/handler/webrick.rb:60:in `service' 
    /home/user/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/webrick/httpserver.rb:138:in `service' 
    /home/user/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/webrick/httpserver.rb:94:in `run' 
    /home/user/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/webrick/server.rb:295:in `block in start_thread' 
+0

,請複製粘貼錯誤在這裏追蹤。 –

回答

2
def update 
    @person = current_user.person 
    @person.update(person_params) 
    render_wizard @person 
end 

閱讀Strong Parameters

+1

謝謝,不能通過treeeeeeeeeeeeees看到木頭! – user1320651