Ruby on rails 轨道4“;没有将符号隐式转换为字符串;仅在生产中

Ruby on rails 轨道4“;没有将符号隐式转换为字符串;仅在生产中,ruby-on-rails,ruby,amazon-s3,ruby-on-rails-4,paperclip,Ruby On Rails,Ruby,Amazon S3,Ruby On Rails 4,Paperclip,我在生产中收到一个错误,该错误仅表示: TypeError (no implicit conversion of Symbol into String): app/controllers/products_controller.rb:15:in `create' 以下是products_controller.rb文件中的相关代码(请注意,下面的第2行) 此代码目前在开发和测试环境中运行良好,并且以前在生产环境中运行(将在下面解释自上一个工作生产版本以来的更改)。我使用了一个diff工具来确认G

我在生产中收到一个错误,该错误仅表示:

TypeError (no implicit conversion of Symbol into String):
app/controllers/products_controller.rb:15:in `create'
以下是products_controller.rb文件中的相关代码(请注意,下面的第2行)

此代码目前在开发和测试环境中运行良好,并且以前在生产环境中运行(将在下面解释自上一个工作生产版本以来的更改)。我使用了一个diff工具来确认Gemfile.lock在本地机器和生产机器之间是相同的,以消除这个方面

注意:我以前使用回形针gem上传文件,如:picture参数所示,但是我最近为这个模型添加了第二个文件上传(:social_image),并通过aws sdk gem将上传方法切换到Amazon S3,而不仅仅是生产服务器。另外,我已经确认development.rb和production.rb之间的所有相关设置都是正确的

请求的参数可在下面找到:

{"utf8"=>"✓",
 "authenticity_token"=>"yJJ1HwLZz9oDmsfUfN87DATCe+HC9IBhYVBddRvm4=",
 "product"=>{"name"=>"Heineken Style USB Flash Drive",
 "description"=>"Sample Description.",
 "url"=>"http://www.amazon.com/",
 "category_id"=>"1",
 "price"=>"7.99",
 "picture"=>#<ActionDispatch::Http::UploadedFile:0x00000004986260 @tempfile=#<Tempfile:/tmp/RackMultipart20131013-3068-fyjvy2>,
 @original_filename="heineken-usb-drive-stock.jpg",
 @content_type="image/jpeg",
 @headers="Content-Disposition: form-data; name=\"product[picture]\"; filename=\"heineken-usb-drive-stock.jpg\"\r\nContent-Type: image/jpeg\r\n">,
 "social_image"=>#<ActionDispatch::Http::UploadedFile:0x000000049861c0 @tempfile=#<Tempfile:/tmp/RackMultipart20131013-3068-1glzf9p>,
 @original_filename="heineken-usb-drive.png",
 @content_type="image/png",
 @headers="Content-Disposition: form-data; name=\"product[social_image]\"; filename=\"heineken-usb-drive.png\"\r\nContent-Type: image/png\r\n">},
 "commit"=>"Create Product",
 "category_id"=>"geeky"} 
最后,完整的代码库位于:When any want check out any other files


任何帮助都将不胜感激!提前感谢

在production.rb文件中,回形针配置为
:url=>:s3\u domain\u url
,而在dev中则是
:url=>':s3\u domain\u url'
(请注意引号)。似乎您可以将整个config.paperclip\u默认值也移动到application.rb,因此即使某些内容发生更改,您也可以保证使用相同的设置


顺便说一句,感谢您发布了一个到回购协议的链接——当您可以看到整个应用程序时,发现这些东西就容易多了。

没问题,我认为这是我能为任何愿意花时间帮助我的人做的最起码的事。也非常感谢你,当我说我已经检查了那些文件的正确性时,你不仅仅相信我的话。我已经在这个问题上纠缠了好几个小时,我只是太深入了以至于没有注意到这么小的事情。
{"utf8"=>"✓",
 "authenticity_token"=>"yJJ1HwLZz9oDmsfUfN87DATCe+HC9IBhYVBddRvm4=",
 "product"=>{"name"=>"Heineken Style USB Flash Drive",
 "description"=>"Sample Description.",
 "url"=>"http://www.amazon.com/",
 "category_id"=>"1",
 "price"=>"7.99",
 "picture"=>#<ActionDispatch::Http::UploadedFile:0x00000004986260 @tempfile=#<Tempfile:/tmp/RackMultipart20131013-3068-fyjvy2>,
 @original_filename="heineken-usb-drive-stock.jpg",
 @content_type="image/jpeg",
 @headers="Content-Disposition: form-data; name=\"product[picture]\"; filename=\"heineken-usb-drive-stock.jpg\"\r\nContent-Type: image/jpeg\r\n">,
 "social_image"=>#<ActionDispatch::Http::UploadedFile:0x000000049861c0 @tempfile=#<Tempfile:/tmp/RackMultipart20131013-3068-1glzf9p>,
 @original_filename="heineken-usb-drive.png",
 @content_type="image/png",
 @headers="Content-Disposition: form-data; name=\"product[social_image]\"; filename=\"heineken-usb-drive.png\"\r\nContent-Type: image/png\r\n">},
 "commit"=>"Create Product",
 "category_id"=>"geeky"} 
paperclip (3.5.1) lib/paperclip/storage/s3.rb:141:in `gsub'
paperclip (3.5.1) lib/paperclip/storage/s3.rb:141:in `block in extended'
paperclip (3.5.1) lib/paperclip/storage/s3.rb:117:in `instance_eval'
paperclip (3.5.1) lib/paperclip/storage/s3.rb:117:in `extended'
paperclip (3.5.1) lib/paperclip/attachment.rb:390:in `extend'
paperclip (3.5.1) lib/paperclip/attachment.rb:390:in `initialize_storage'
paperclip (3.5.1) lib/paperclip/attachment.rb:85:in `initialize'
paperclip (3.5.1) lib/paperclip/has_attached_file.rb:46:in `new'
paperclip (3.5.1) lib/paperclip/has_attached_file.rb:46:in `block in define_instance_getter'
paperclip (3.5.1) lib/paperclip/has_attached_file.rb:65:in `block in define_setter'
activerecord (4.0.0) lib/active_record/attribute_assignment.rb:42:in `public_send'
activerecord (4.0.0) lib/active_record/attribute_assignment.rb:42:in `_assign_attribute'
activerecord (4.0.0) lib/active_record/attribute_assignment.rb:29:in `block in assign_attributes'
activerecord (4.0.0) lib/active_record/attribute_assignment.rb:23:in `each'
activerecord (4.0.0) lib/active_record/attribute_assignment.rb:23:in `assign_attributes'
activerecord (4.0.0) lib/active_record/core.rb:192:in `initialize'
activerecord (4.0.0) lib/active_record/inheritance.rb:27:in `new'
activerecord (4.0.0) lib/active_record/inheritance.rb:27:in `new'
activerecord (4.0.0) lib/active_record/reflection.rb:189:in `build_association'
activerecord (4.0.0) lib/active_record/associations/association.rb:242:in `build_record'
activerecord (4.0.0) lib/active_record/associations/collection_association.rb:114:in `build'
activerecord (4.0.0) lib/active_record/associations/collection_proxy.rb:229:in `build'
app/controllers/products_controller.rb:16:in `create'
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:443:in `_run__3726568038748606890__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 `call'
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 `each'
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 `catch'
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'
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'
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__1565355437262191815__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/remote_ip.rb:76: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'
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/sendfile.rb:112:in `call'
railties (4.0.0) lib/rails/engine.rb:511:in `call'
railties (4.0.0) lib/rails/application.rb:97:in `call'
/home/application/.rvm/gems/ruby-2.0.0-p247/gems/passenger-4.0.16/lib/phusion_passenger/rack/thread_handler_extension.rb:77:in `process_request'
/home/application/.rvm/gems/ruby-2.0.0-p247/gems/passenger-4.0.16/lib/phusion_passenger/request_handler/thread_handler.rb:140:in `accept_and_process_next_request'
/home/application/.rvm/gems/ruby-2.0.0-p247/gems/passenger-4.0.16/lib/phusion_passenger/request_handler/thread_handler.rb:108:in `main_loop'
/home/application/.rvm/gems/ruby-2.0.0-p247/gems/passenger-4.0.16/lib/phusion_passenger/request_handler.rb:441:in `block (3 levels) in start_threads'