ruby-on-rails – 使用ActiveRecord :: Save的错误参数数量(0表
发布时间:2020-12-17 01:25:39 所属栏目:百科 来源:网络整理
导读:我使用Rails 4收到此错误: wrong number of arguments (0 for 1) 在控制器中运行此代码时: class CommentsController ApplicationController def create @comment = @current_user.comments.build(comment_params) if @comment.save redirect_to :back,fla
我使用Rails 4收到此错误:
wrong number of arguments (0 for 1) 在控制器中运行此代码时: class CommentsController < ApplicationController def create @comment = @current_user.comments.build(comment_params) if @comment.save redirect_to :back,flash: { success: "Comment was updated." } else redirect_to :back,flash: { error: "There was an issue with your comment." },comment: { content: params[:comment][:content] } end end private def comment_params params.require(:comment).permit(:post_id,:content) end end 这是模型: class Comment < ActiveRecord::Base belongs_to :post belongs_to :user validates_presence_of :content validates_length_of :attribute,minimum: 20 end 这是堆栈跟踪: block in ActiveModel::Validations::LengthValidator#validate /home/user/.rvm/gems/ruby-1.9.3-p194/bundler/gems/rails-8744632fb564/activemodel/lib/active_model/validator.rb,line 151 ActiveModel::Validations::LengthValidator#validate /home/user/.rvm/gems/ruby-1.9.3-p194/bundler/gems/rails-8744632fb564/activemodel/lib/active_model/validator.rb,line 150 Comment#_callback_before_112 /home/user/.rvm/gems/ruby-1.9.3-p194/bundler/gems/rails-8744632fb564/activesupport/lib/active_support/callbacks.rb,line 281 Comment#_run__664310716__validate__callbacks /home/user/.rvm/gems/ruby-1.9.3-p194/bundler/gems/rails-8744632fb564/activesupport/lib/active_support/callbacks.rb,line 388 Comment#run_callbacks /home/user/.rvm/gems/ruby-1.9.3-p194/bundler/gems/rails-8744632fb564/activesupport/lib/active_support/callbacks.rb,line 78 Comment#run_validations! /home/user/.rvm/gems/ruby-1.9.3-p194/bundler/gems/rails-8744632fb564/activemodel/lib/active_model/validations.rb,line 330 block in Comment#run_validations! /home/user/.rvm/gems/ruby-1.9.3-p194/bundler/gems/rails-8744632fb564/activemodel/lib/active_model/validations/callbacks.rb,line 106 Comment#_run__664310716__validation__callbacks /home/user/.rvm/gems/ruby-1.9.3-p194/bundler/gems/rails-8744632fb564/activesupport/lib/active_support/callbacks.rb,line 374 Comment#run_callbacks /home/user/.rvm/gems/ruby-1.9.3-p194/bundler/gems/rails-8744632fb564/activesupport/lib/active_support/callbacks.rb,line 78 Comment#run_validations! /home/user/.rvm/gems/ruby-1.9.3-p194/bundler/gems/rails-8744632fb564/activemodel/lib/active_model/validations/callbacks.rb,line 106 Comment#valid? /home/user/.rvm/gems/ruby-1.9.3-p194/bundler/gems/rails-8744632fb564/activemodel/lib/active_model/validations.rb,line 271 Comment#valid? /home/user/.rvm/gems/ruby-1.9.3-p194/bundler/gems/rails-8744632fb564/activerecord/lib/active_record/validations.rb,line 70 Comment#perform_validations /home/user/.rvm/gems/ruby-1.9.3-p194/bundler/gems/rails-8744632fb564/activerecord/lib/active_record/validations.rb,line 78 Comment#save! /home/user/.rvm/gems/ruby-1.9.3-p194/bundler/gems/rails-8744632fb564/activerecord/lib/active_record/validations.rb,line 57 Comment#save! /home/user/.rvm/gems/ruby-1.9.3-p194/bundler/gems/rails-8744632fb564/activerecord/lib/active_record/attribute_methods/dirty.rb,line 41 block in Comment#save! /home/user/.rvm/gems/ruby-1.9.3-p194/bundler/gems/rails-8744632fb564/activerecord/lib/active_record/transactions.rb,line 275 block in Comment#with_transaction_returning_status /home/user/.rvm/gems/ruby-1.9.3-p194/bundler/gems/rails-8744632fb564/activerecord/lib/active_record/transactions.rb,line 326 block in ActiveRecord::ConnectionAdapters::PostgreSQLAdapter#transaction /home/user/.rvm/gems/ruby-1.9.3-p194/bundler/gems/rails-8744632fb564/activerecord/lib/active_record/connection_adapters/abstract/database_statements.rb,line 202 ActiveRecord::ConnectionAdapters::PostgreSQLAdapter#within_new_transaction /home/user/.rvm/gems/ruby-1.9.3-p194/bundler/gems/rails-8744632fb564/activerecord/lib/active_record/connection_adapters/abstract/database_statements.rb,line 210 ActiveRecord::ConnectionAdapters::PostgreSQLAdapter#transaction /home/user/.rvm/gems/ruby-1.9.3-p194/bundler/gems/rails-8744632fb564/activerecord/lib/active_record/connection_adapters/abstract/database_statements.rb,line 202 Comment.transaction /home/user/.rvm/gems/ruby-1.9.3-p194/bundler/gems/rails-8744632fb564/activerecord/lib/active_record/transactions.rb,line 209 Comment#with_transaction_returning_status /home/user/.rvm/gems/ruby-1.9.3-p194/bundler/gems/rails-8744632fb564/activerecord/lib/active_record/transactions.rb,line 323 Comment#save! /home/user/.rvm/gems/ruby-1.9.3-p194/bundler/gems/rails-8744632fb564/activerecord/lib/active_record/transactions.rb,line 275 CommentsController#create app/controllers/comments_controller.rb,line 4 CommentsController#send_action /home/user/.rvm/gems/ruby-1.9.3-p194/bundler/gems/rails-8744632fb564/actionpack/lib/action_controller/metal/implicit_render.rb,line 4 CommentsController#process_action /home/user/.rvm/gems/ruby-1.9.3-p194/bundler/gems/rails-8744632fb564/actionpack/lib/abstract_controller/base.rb,line 189 CommentsController#process_action /home/user/.rvm/gems/ruby-1.9.3-p194/bundler/gems/rails-8744632fb564/actionpack/lib/action_controller/metal/rendering.rb,line 10 block in CommentsController#process_action /home/user/.rvm/gems/ruby-1.9.3-p194/bundler/gems/rails-8744632fb564/actionpack/lib/abstract_controller/callbacks.rb,line 18 CommentsController#_run__1046107247__process_action__callbacks /home/user/.rvm/gems/ruby-1.9.3-p194/bundler/gems/rails-8744632fb564/activesupport/lib/active_support/callbacks.rb,line 414 CommentsController#run_callbacks /home/user/.rvm/gems/ruby-1.9.3-p194/bundler/gems/rails-8744632fb564/activesupport/lib/active_support/callbacks.rb,line 78 CommentsController#process_action /home/user/.rvm/gems/ruby-1.9.3-p194/bundler/gems/rails-8744632fb564/actionpack/lib/abstract_controller/callbacks.rb,line 17 CommentsController#process_action /home/user/.rvm/gems/ruby-1.9.3-p194/bundler/gems/rails-8744632fb564/actionpack/lib/action_controller/metal/rescue.rb,line 29 block in CommentsController#process_action /home/user/.rvm/gems/ruby-1.9.3-p194/bundler/gems/rails-8744632fb564/actionpack/lib/action_controller/metal/instrumentation.rb,line 31 block in ActiveSupport::Notifications.instrument /home/user/.rvm/gems/ruby-1.9.3-p194/bundler/gems/rails-8744632fb564/activesupport/lib/active_support/notifications.rb,line 158 ActiveSupport::Notifications::Instrumenter#instrument /home/user/.rvm/gems/ruby-1.9.3-p194/bundler/gems/rails-8744632fb564/activesupport/lib/active_support/notifications/instrumenter.rb,line 20 ActiveSupport::Notifications.instrument /home/user/.rvm/gems/ruby-1.9.3-p194/bundler/gems/rails-8744632fb564/activesupport/lib/active_support/notifications.rb,line 158 CommentsController#process_action /home/user/.rvm/gems/ruby-1.9.3-p194/bundler/gems/rails-8744632fb564/actionpack/lib/action_controller/metal/instrumentation.rb,line 30 CommentsController#process_action /home/user/.rvm/gems/ruby-1.9.3-p194/bundler/gems/rails-8744632fb564/actionpack/lib/action_controller/metal/params_wrapper.rb,line 245 CommentsController#process_action /home/user/.rvm/gems/ruby-1.9.3-p194/bundler/gems/rails-8744632fb564/activerecord/lib/active_record/railties/controller_runtime.rb,line 18 CommentsController#process /home/user/.rvm/gems/ruby-1.9.3-p194/bundler/gems/rails-8744632fb564/actionpack/lib/abstract_controller/base.rb,line 136 CommentsController#process /home/user/.rvm/gems/ruby-1.9.3-p194/bundler/gems/rails-8744632fb564/actionpack/lib/abstract_controller/rendering.rb,line 44 CommentsController#dispatch /home/user/.rvm/gems/ruby-1.9.3-p194/bundler/gems/rails-8744632fb564/actionpack/lib/action_controller/metal.rb,line 196 CommentsController#dispatch /home/user/.rvm/gems/ruby-1.9.3-p194/bundler/gems/rails-8744632fb564/actionpack/lib/action_controller/metal/rack_delegation.rb,line 13 block in CommentsController.action /home/user/.rvm/gems/ruby-1.9.3-p194/bundler/gems/rails-8744632fb564/actionpack/lib/action_controller/metal.rb,line 232 ActionDispatch::Routing::RouteSet::Dispatcher#dispatch /home/user/.rvm/gems/ruby-1.9.3-p194/bundler/gems/rails-8744632fb564/actionpack/lib/action_dispatch/routing/route_set.rb,line 80 ActionDispatch::Routing::RouteSet::Dispatcher#call /home/user/.rvm/gems/ruby-1.9.3-p194/bundler/gems/rails-8744632fb564/actionpack/lib/action_dispatch/routing/route_set.rb,line 48 block in ActionDispatch::Journey::Router#call /home/user/.rvm/gems/ruby-1.9.3-p194/bundler/gems/rails-8744632fb564/actionpack/lib/action_dispatch/journey/router.rb,line 69 ActionDispatch::Journey::Router#call /home/user/.rvm/gems/ruby-1.9.3-p194/bundler/gems/rails-8744632fb564/actionpack/lib/action_dispatch/journey/router.rb,line 57 ActionDispatch::Routing::RouteSet#call /home/user/.rvm/gems/ruby-1.9.3-p194/bundler/gems/rails-8744632fb564/actionpack/lib/action_dispatch/routing/route_set.rb,line 645 ClientSideValidations::Middleware::Validators#call /home/user/.rvm/gems/ruby-1.9.3-p194/bundler/gems/client_side_validations-6855ba7031d4/lib/client_side_validations/middleware.rb,line 21 Rack::ETag#call (gem) rack-1.5.2/lib/rack/etag.rb,line 23 Rack::ConditionalGet#call (gem) rack-1.5.2/lib/rack/conditionalget.rb,line 35 Rack::Head#call (gem) rack-1.5.2/lib/rack/head.rb,line 11 ActionDispatch::ParamsParser#call /home/user/.rvm/gems/ruby-1.9.3-p194/bundler/gems/rails-8744632fb564/actionpack/lib/action_dispatch/middleware/params_parser.rb,line 27 ActionDispatch::Flash#call /home/user/.rvm/gems/ruby-1.9.3-p194/bundler/gems/rails-8744632fb564/actionpack/lib/action_dispatch/middleware/flash.rb,line 241 ActionDispatch::Session::EncryptedCookieStore#context (gem) rack-1.5.2/lib/rack/session/abstract/id.rb,line 225 ActionDispatch::Session::EncryptedCookieStore#call (gem) rack-1.5.2/lib/rack/session/abstract/id.rb,line 220 ActionDispatch::Cookies#call /home/user/.rvm/gems/ruby-1.9.3-p194/bundler/gems/rails-8744632fb564/actionpack/lib/action_dispatch/middleware/cookies.rb,line 452 ActiveRecord::QueryCache#call /home/user/.rvm/gems/ruby-1.9.3-p194/bundler/gems/rails-8744632fb564/activerecord/lib/active_record/query_cache.rb,line 36 ActiveRecord::ConnectionAdapters::ConnectionManagement#call /home/user/.rvm/gems/ruby-1.9.3-p194/bundler/gems/rails-8744632fb564/activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rb,line 632 ActiveRecord::Migration::CheckPending#call /home/user/.rvm/gems/ruby-1.9.3-p194/bundler/gems/rails-8744632fb564/activerecord/lib/active_record/migration.rb,line 366 block in ActionDispatch::Callbacks#call /home/user/.rvm/gems/ruby-1.9.3-p194/bundler/gems/rails-8744632fb564/actionpack/lib/action_dispatch/middleware/callbacks.rb,line 29 ActionDispatch::Callbacks#_run__81458556__call__callbacks /home/user/.rvm/gems/ruby-1.9.3-p194/bundler/gems/rails-8744632fb564/activesupport/lib/active_support/callbacks.rb,line 374 ActionDispatch::Callbacks#run_callbacks /home/user/.rvm/gems/ruby-1.9.3-p194/bundler/gems/rails-8744632fb564/activesupport/lib/active_support/callbacks.rb,line 78 ActionDispatch::Callbacks#call /home/user/.rvm/gems/ruby-1.9.3-p194/bundler/gems/rails-8744632fb564/actionpack/lib/action_dispatch/middleware/callbacks.rb,line 27 ActionDispatch::Reloader#call /home/user/.rvm/gems/ruby-1.9.3-p194/bundler/gems/rails-8744632fb564/actionpack/lib/action_dispatch/middleware/reloader.rb,line 64 ActionDispatch::RemoteIp#call /home/user/.rvm/gems/ruby-1.9.3-p194/bundler/gems/rails-8744632fb564/actionpack/lib/action_dispatch/middleware/remote_ip.rb,line 76 BetterErrors::Middleware#protected_app_call (gem) better_errors-0.7.2/lib/better_errors/middleware.rb,line 84 BetterErrors::Middleware#better_errors_call (gem) better_errors-0.7.2/lib/better_errors/middleware.rb,line 79 BetterErrors::Middleware#call (gem) better_errors-0.7.2/lib/better_errors/middleware.rb,line 56 ActionDispatch::DebugExceptions#call /home/user/.rvm/gems/ruby-1.9.3-p194/bundler/gems/rails-8744632fb564/actionpack/lib/action_dispatch/middleware/debug_exceptions.rb,line 17 ActionDispatch::ShowExceptions#call /home/user/.rvm/gems/ruby-1.9.3-p194/bundler/gems/rails-8744632fb564/actionpack/lib/action_dispatch/middleware/show_exceptions.rb,line 30 Rails::Rack::Logger#call_app /home/user/.rvm/gems/ruby-1.9.3-p194/bundler/gems/rails-8744632fb564/railties/lib/rails/rack/logger.rb,line 38 block in Rails::Rack::Logger#call /home/user/.rvm/gems/ruby-1.9.3-p194/bundler/gems/rails-8744632fb564/railties/lib/rails/rack/logger.rb,line 21 block in ActiveSupport::Logger#tagged /home/user/.rvm/gems/ruby-1.9.3-p194/bundler/gems/rails-8744632fb564/activesupport/lib/active_support/tagged_logging.rb,line 67 ActiveSupport::Logger::SimpleFormatter#tagged /home/user/.rvm/gems/ruby-1.9.3-p194/bundler/gems/rails-8744632fb564/activesupport/lib/active_support/tagged_logging.rb,line 25 ActiveSupport::Logger#tagged /home/user/.rvm/gems/ruby-1.9.3-p194/bundler/gems/rails-8744632fb564/activesupport/lib/active_support/tagged_logging.rb,line 67 Rails::Rack::Logger#call /home/user/.rvm/gems/ruby-1.9.3-p194/bundler/gems/rails-8744632fb564/railties/lib/rails/rack/logger.rb,line 21 ActionDispatch::RequestId#call /home/user/.rvm/gems/ruby-1.9.3-p194/bundler/gems/rails-8744632fb564/actionpack/lib/action_dispatch/middleware/request_id.rb,line 21 Rack::MethodOverride#call (gem) rack-1.5.2/lib/rack/methodoverride.rb,line 21 Rack::Runtime#call (gem) rack-1.5.2/lib/rack/runtime.rb,line 17 ActiveSupport::Cache::Strategy::LocalCache::Middleware#call /home/user/.rvm/gems/ruby-1.9.3-p194/bundler/gems/rails-8744632fb564/activesupport/lib/active_support/cache/strategy/local_cache.rb,line 72 Rack::Lock#call (gem) rack-1.5.2/lib/rack/lock.rb,line 17 ActionDispatch::Static#call /home/user/.rvm/gems/ruby-1.9.3-p194/bundler/gems/rails-8744632fb564/actionpack/lib/action_dispatch/middleware/static.rb,line 64 Fourpointohblog::Application#call /home/user/.rvm/gems/ruby-1.9.3-p194/bundler/gems/rails-8744632fb564/railties/lib/rails/engine.rb,line 511 Fourpointohblog::Application#call /home/user/.rvm/gems/ruby-1.9.3-p194/bundler/gems/rails-8744632fb564/railties/lib/rails/application.rb,line 96 Rack::ContentLength#call (gem) rack-1.5.2/lib/rack/content_length.rb,line 14 block in Thin::Connection#pre_process (gem) thin-1.5.0/lib/thin/connection.rb,line 81 Thin::Connection#pre_process (gem) thin-1.5.0/lib/thin/connection.rb,line 79 Thin::Connection#process (gem) thin-1.5.0/lib/thin/connection.rb,line 54 Thin::Connection#receive_data (gem) thin-1.5.0/lib/thin/connection.rb,line 39 EventMachine.run (gem) eventmachine-1.0.3/lib/eventmachine.rb,line 187 Thin::Backends::TcpServer#start (gem) thin-1.5.0/lib/thin/backends/base.rb,line 63 Thin::Server#start (gem) thin-1.5.0/lib/thin/server.rb,line 159 Rack::Handler::Thin.run (gem) rack-1.5.2/lib/rack/handler/thin.rb,line 16 Rails::Server#start (gem) rack-1.5.2/lib/rack/server.rb,line 264 Rails::Server#start /home/user/.rvm/gems/ruby-1.9.3-p194/bundler/gems/rails-8744632fb564/railties/lib/rails/commands/server.rb,line 83 block in <top (required)> /home/user/.rvm/gems/ruby-1.9.3-p194/bundler/gems/rails-8744632fb564/railties/lib/rails/commands.rb,line 80 <top (required)> /home/user/.rvm/gems/ruby-1.9.3-p194/bundler/gems/rails-8744632fb564/railties/lib/rails/commands.rb,line 75 <main> script/rails,line 6 <main> script/rails,line 0 我试过调用以下内容但它们没有用 > @ coment.save! 为什么会导致这个问题. 解决方法
您不能在ActiveRecord模型中拥有一个名为attribute的列,因为attribute是ActiveRecord :: Base类的私有方法.
更改列名以获取其他内容,它将起作用. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |