0

我不确定这里发生了什么。

使用 MiniMagick 3.3,一切正常,直到我尝试调整大小。

这一行导致我得到错误数量的参数错误:

image_file.resize "#{style.width}x#{style.height}"

根据文档,这似乎应该可以正常工作。

这是跟踪:

    wrong number of arguments (0 for 1)
RAILS_ROOT: /tmn_core_cms

Application Trace | Framework Trace | Full Trace
/tmn_core_cms/vendor/gems/mini_magick-3.3/lib/mini_magick.rb:323:in `combine_options'
/tmn_core_cms/vendor/gems/mini_magick-3.3/lib/mini_magick.rb:323:in `method_missing'
/tmn_core_cms/lib/imagemodule.rb:15:in `apply_styles'
/tmn_core_cms/lib/imagemodule.rb:11:in `apply_styles'
/tmn_core_cms/app/models/asset.rb:143:in `site_image_render'
/tmn_core_cms/app/controllers/articles_controller.rb:66:in `update'
/tmn_core_cms/app/controllers/articles_controller.rb:65:in `update'

image_file = MiniMagick::Image.open("#{RAILS_ROOT}/public/images/i/Standard/#{baseimage.id}/original/#{baseimage.image_file_name}")

image_file 返回了正确的对象(我在添加每一步时都在测试所有内容,直到我调整大小为止)

顶部显示 ArticlesController#update 中的 ArgumentError

这是完整的跟踪:

ArgumentError in ArticlesController#update

wrong number of arguments (0 for 1)
RAILS_ROOT: /tmn_core_cms

Application Trace | Framework Trace | Full Trace
/tmn_core_cms/vendor/gems/mini_magick-3.3/lib/mini_magick.rb:323:in `combine_options'
/tmn_core_cms/vendor/gems/mini_magick-3.3/lib/mini_magick.rb:323:in `method_missing'
/tmn_core_cms/lib/imagemodule.rb:15:in `apply_styles'
/tmn_core_cms/vendor/gems/will_paginate-2.3.15/lib/will_paginate/finder.rb:168:in `method_missing'
/tmn_core_cms/vendor/rails/activerecord/lib/active_record/associations/association_collection.rb:392:in `method_missing_without_paginate'
/tmn_core_cms/vendor/rails/activerecord/lib/active_record/associations/association_proxy.rb:215:in `each'
/tmn_core_cms/vendor/rails/activerecord/lib/active_record/associations/association_proxy.rb:215:in `send'
/tmn_core_cms/vendor/rails/activerecord/lib/active_record/associations/association_proxy.rb:215:in `method_missing'
/tmn_core_cms/vendor/rails/activerecord/lib/active_record/associations/association_collection.rb:392:in `method_missing_without_paginate'
/tmn_core_cms/vendor/gems/will_paginate-2.3.15/lib/will_paginate/finder.rb:168:in `method_missing'
/tmn_core_cms/vendor/gems/thinking-sphinx-1.3.20/lib/thinking_sphinx/active_record/has_many_association.rb:19:in `method_missing'
/tmn_core_cms/lib/imagemodule.rb:11:in `apply_styles'
/tmn_core_cms/app/models/asset.rb:143:in `site_image_render'
/tmn_core_cms/vendor/rails/activesupport/lib/active_support/callbacks.rb:178:in `send'
/tmn_core_cms/vendor/rails/activesupport/lib/active_support/callbacks.rb:178:in `evaluate_method'
/tmn_core_cms/vendor/rails/activesupport/lib/active_support/callbacks.rb:166:in `call'
/tmn_core_cms/vendor/rails/activesupport/lib/active_support/callbacks.rb:93:in `run'
/tmn_core_cms/vendor/rails/activesupport/lib/active_support/callbacks.rb:92:in `each'
/tmn_core_cms/vendor/rails/activesupport/lib/active_support/callbacks.rb:92:in `send'
/tmn_core_cms/vendor/rails/activesupport/lib/active_support/callbacks.rb:92:in `run'
/tmn_core_cms/vendor/rails/activesupport/lib/active_support/callbacks.rb:276:in `run_callbacks'
/tmn_core_cms/vendor/rails/activerecord/lib/active_record/callbacks.rb:344:in `callback'
/tmn_core_cms/vendor/rails/activerecord/lib/active_record/callbacks.rb:251:in `create_or_update'
/tmn_core_cms/vendor/rails/activerecord/lib/active_record/base.rb:2577:in `save_without_validation'
/tmn_core_cms/vendor/rails/activerecord/lib/active_record/validations.rb:1090:in `save_without_dirty'
/tmn_core_cms/vendor/rails/activerecord/lib/active_record/dirty.rb:79:in `save_without_transactions'
/tmn_core_cms/vendor/rails/activerecord/lib/active_record/transactions.rb:229:in `send'
/tmn_core_cms/vendor/rails/activerecord/lib/active_record/transactions.rb:229:in `with_transaction_returning_status'
/tmn_core_cms/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/database_statements.rb:136:in `transaction'
/tmn_core_cms/vendor/rails/activerecord/lib/active_record/transactions.rb:182:in `transaction'
/tmn_core_cms/vendor/rails/activerecord/lib/active_record/transactions.rb:228:in `with_transaction_returning_status'
/tmn_core_cms/vendor/rails/activerecord/lib/active_record/transactions.rb:196:in `save'
/tmn_core_cms/vendor/rails/activerecord/lib/active_record/transactions.rb:208:in `rollback_active_record_state!'
/tmn_core_cms/vendor/rails/activerecord/lib/active_record/transactions.rb:196:in `save'
/tmn_core_cms/vendor/rails/activerecord/lib/active_record/associations/association_proxy.rb:215:in `send'
/tmn_core_cms/vendor/rails/activerecord/lib/active_record/associations/association_proxy.rb:215:in `method_missing'
/tmn_core_cms/vendor/rails/activerecord/lib/active_record/autosave_association.rb:356:in `save_has_one_association'
/tmn_core_cms/vendor/rails/activerecord/lib/active_record/autosave_association.rb:182:in `autosave_associated_records_for_asset'
/tmn_core_cms/vendor/rails/activesupport/lib/active_support/callbacks.rb:178:in `send'
/tmn_core_cms/vendor/rails/activesupport/lib/active_support/callbacks.rb:178:in `evaluate_method'
/tmn_core_cms/vendor/rails/activesupport/lib/active_support/callbacks.rb:166:in `call'
/tmn_core_cms/vendor/rails/activesupport/lib/active_support/callbacks.rb:93:in `run'
/tmn_core_cms/vendor/rails/activesupport/lib/active_support/callbacks.rb:92:in `each'
/tmn_core_cms/vendor/rails/activesupport/lib/active_support/callbacks.rb:92:in `send'
/tmn_core_cms/vendor/rails/activesupport/lib/active_support/callbacks.rb:92:in `run'
/tmn_core_cms/vendor/rails/activesupport/lib/active_support/callbacks.rb:276:in `run_callbacks'
/tmn_core_cms/vendor/rails/activerecord/lib/active_record/callbacks.rb:344:in `callback'
/tmn_core_cms/vendor/rails/activerecord/lib/active_record/callbacks.rb:251:in `create_or_update'
/tmn_core_cms/vendor/rails/activerecord/lib/active_record/base.rb:2577:in `save_without_validation'
/tmn_core_cms/vendor/rails/activerecord/lib/active_record/validations.rb:1090:in `save_without_dirty'
/tmn_core_cms/vendor/rails/activerecord/lib/active_record/dirty.rb:79:in `save_without_transactions'
/tmn_core_cms/vendor/rails/activerecord/lib/active_record/transactions.rb:229:in `send'
/tmn_core_cms/vendor/rails/activerecord/lib/active_record/transactions.rb:229:in `with_transaction_returning_status'
/tmn_core_cms/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/database_statements.rb:136:in `transaction'
/tmn_core_cms/vendor/rails/activerecord/lib/active_record/transactions.rb:182:in `transaction'
/tmn_core_cms/vendor/rails/activerecord/lib/active_record/transactions.rb:228:in `with_transaction_returning_status'
/tmn_core_cms/vendor/rails/activerecord/lib/active_record/transactions.rb:196:in `save'
/tmn_core_cms/vendor/rails/activerecord/lib/active_record/transactions.rb:208:in `rollback_active_record_state!'
/tmn_core_cms/vendor/rails/activerecord/lib/active_record/transactions.rb:196:in `save'
/tmn_core_cms/vendor/rails/activerecord/lib/active_record/base.rb:2672:in `update_attributes_inside_transaction'
/tmn_core_cms/vendor/rails/activerecord/lib/active_record/transactions.rb:229:in `send'
/tmn_core_cms/vendor/rails/activerecord/lib/active_record/transactions.rb:229:in `with_transaction_returning_status'
/tmn_core_cms/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/database_statements.rb:136:in `transaction'
/tmn_core_cms/vendor/rails/activerecord/lib/active_record/transactions.rb:182:in `transaction'
/tmn_core_cms/vendor/rails/activerecord/lib/active_record/transactions.rb:228:in `with_transaction_returning_status'
/tmn_core_cms/vendor/rails/activerecord/lib/active_record/base.rb:2667:in `update_attributes'
/tmn_core_cms/vendor/rails/activerecord/lib/active_record/associations/association_proxy.rb:215:in `send'
/tmn_core_cms/vendor/rails/activerecord/lib/active_record/associations/association_proxy.rb:215:in `method_missing'
/tmn_core_cms/app/controllers/articles_controller.rb:66:in `update'
/tmn_core_cms/vendor/rails/actionpack/lib/action_controller/mime_responds.rb:106:in `call'
/tmn_core_cms/vendor/rails/actionpack/lib/action_controller/mime_responds.rb:106:in `respond_to'
/tmn_core_cms/app/controllers/articles_controller.rb:65:in `update'
/tmn_core_cms/vendor/rails/actionpack/lib/action_controller/base.rb:1333:in `send'
/tmn_core_cms/vendor/rails/actionpack/lib/action_controller/base.rb:1333:in `perform_action_without_filters'
/tmn_core_cms/vendor/rails/actionpack/lib/action_controller/filters.rb:617:in `call_filters'
/tmn_core_cms/vendor/rails/actionpack/lib/action_controller/filters.rb:610:in `perform_action_without_benchmark'
/tmn_core_cms/vendor/rails/actionpack/lib/action_controller/benchmarking.rb:68:in `perform_action_without_rescue'
/tmn_core_cms/vendor/rails/activesupport/lib/active_support/core_ext/benchmark.rb:17:in `ms'
/usr/local/lib/ruby/1.8/benchmark.rb:308:in `realtime'
/tmn_core_cms/vendor/rails/activesupport/lib/active_support/core_ext/benchmark.rb:17:in `ms'
/tmn_core_cms/vendor/rails/actionpack/lib/action_controller/benchmarking.rb:68:in `perform_action_without_rescue'
/tmn_core_cms/vendor/rails/actionpack/lib/action_controller/rescue.rb:160:in `perform_action_without_flash'
/tmn_core_cms/vendor/rails/actionpack/lib/action_controller/flash.rb:151:in `perform_action'
/tmn_core_cms/vendor/rails/actionpack/lib/action_controller/base.rb:532:in `send'
/tmn_core_cms/vendor/rails/actionpack/lib/action_controller/base.rb:532:in `process_without_filters'
/tmn_core_cms/vendor/rails/actionpack/lib/action_controller/filters.rb:606:in `process'
/tmn_core_cms/vendor/rails/actionpack/lib/action_controller/base.rb:391:in `process'
/tmn_core_cms/vendor/rails/actionpack/lib/action_controller/base.rb:386:in `call'
/tmn_core_cms/vendor/rails/actionpack/lib/action_controller/routing/route_set.rb:438:in `call'
/tmn_core_cms/vendor/rails/actionpack/lib/action_controller/dispatcher.rb:87:in `dispatch'
/tmn_core_cms/vendor/rails/actionpack/lib/action_controller/dispatcher.rb:121:in `_call'
/tmn_core_cms/vendor/rails/actionpack/lib/action_controller/dispatcher.rb:130:in `build_middleware_stack'
/tmn_core_cms/vendor/rails/activerecord/lib/active_record/query_cache.rb:29:in `call'
/tmn_core_cms/vendor/rails/activerecord/lib/active_record/query_cache.rb:29:in `call'
/tmn_core_cms/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/query_cache.rb:34:in `cache'
/tmn_core_cms/vendor/rails/activerecord/lib/active_record/query_cache.rb:9:in `cache'
/tmn_core_cms/vendor/rails/activerecord/lib/active_record/query_cache.rb:28:in `call'
/tmn_core_cms/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rb:361:in `call'
/tmn_core_cms/vendor/gems/rack-raw-upload-1.0.9/lib/rack/raw_upload.rb:17:in `call'
/tmn_core_cms/vendor/rails/actionpack/lib/action_controller/string_coercion.rb:25:in `call'
/tmn_core_cms/vendor/gems/rack-1.1.0/lib/rack/head.rb:9:in `call'
/tmn_core_cms/vendor/gems/rack-1.1.0/lib/rack/methodoverride.rb:24:in `call'
/tmn_core_cms/vendor/rails/actionpack/lib/action_controller/params_parser.rb:15:in `call'
/tmn_core_cms/vendor/rails/actionpack/lib/action_controller/session/cookie_store.rb:99:in `call'
/tmn_core_cms/vendor/rails/actionpack/lib/action_controller/failsafe.rb:26:in `call'
/tmn_core_cms/vendor/gems/rack-1.1.0/lib/rack/lock.rb:11:in `call'
/tmn_core_cms/vendor/gems/rack-1.1.0/lib/rack/lock.rb:11:in `synchronize'
/tmn_core_cms/vendor/gems/rack-1.1.0/lib/rack/lock.rb:11:in `call'
/tmn_core_cms/vendor/rails/actionpack/lib/action_controller/dispatcher.rb:114:in `call'
/tmn_core_cms/vendor/rails/actionpack/lib/action_controller/reloader.rb:34:in `run'
/tmn_core_cms/vendor/rails/actionpack/lib/action_controller/dispatcher.rb:108:in `call'
/tmn_core_cms/vendor/rails/railties/lib/rails/rack/static.rb:31:in `call'
/tmn_core_cms/vendor/gems/rack-1.1.0/lib/rack/urlmap.rb:47:in `call'
/tmn_core_cms/vendor/gems/rack-1.1.0/lib/rack/urlmap.rb:41:in `each'
/tmn_core_cms/vendor/gems/rack-1.1.0/lib/rack/urlmap.rb:41:in `call'
/tmn_core_cms/vendor/rails/railties/lib/rails/rack/log_tailer.rb:17:in `call'
/tmn_core_cms/vendor/gems/rack-1.1.0/lib/rack/content_length.rb:13:in `call'
/tmn_core_cms/vendor/gems/rack-1.1.0/lib/rack/chunked.rb:15:in `call'
/tmn_core_cms/vendor/gems/rack-1.1.0/lib/rack/handler/mongrel.rb:67:in `process'
/usr/local/lib/ruby/gems/1.8/gems/mongrel-1.1.5/lib/mongrel.rb:159:in `process_client'
/usr/local/lib/ruby/gems/1.8/gems/mongrel-1.1.5/lib/mongrel.rb:158:in `each'
/usr/local/lib/ruby/gems/1.8/gems/mongrel-1.1.5/lib/mongrel.rb:158:in `process_client'
/usr/local/lib/ruby/gems/1.8/gems/mongrel-1.1.5/lib/mongrel.rb:285:in `run'
/usr/local/lib/ruby/gems/1.8/gems/mongrel-1.1.5/lib/mongrel.rb:285:in `initialize'
/usr/local/lib/ruby/gems/1.8/gems/mongrel-1.1.5/lib/mongrel.rb:285:in `new'
/usr/local/lib/ruby/gems/1.8/gems/mongrel-1.1.5/lib/mongrel.rb:285:in `run'
/usr/local/lib/ruby/gems/1.8/gems/mongrel-1.1.5/lib/mongrel.rb:268:in `initialize'
/usr/local/lib/ruby/gems/1.8/gems/mongrel-1.1.5/lib/mongrel.rb:268:in `new'
/usr/local/lib/ruby/gems/1.8/gems/mongrel-1.1.5/lib/mongrel.rb:268:in `run'
/tmn_core_cms/vendor/gems/rack-1.1.0/lib/rack/handler/mongrel.rb:38:in `run'
/tmn_core_cms/vendor/rails/railties/lib/commands/server.rb:111
/usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
/usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'
script/server:3
Request

Parameters:

{"article"=>{"asset_attributes"=>{"publish_date(1i)"=>"2011",
 "canonical"=>"",
 "name"=>"Test",
 "content_image_attributes"=>{"image_id"=>"1",
 "id"=>"2"},
 "publish_date(2i)"=>"9",
 "by_line"=>"",
 "publish_date(3i)"=>"28",
 "guid"=>"",
 "display_authorbiography"=>"1",
 "content_section_attributes"=>{"id"=>"2",
 "primary_section"=>"1"},
 "publish_date(4i)"=>"06",
 "publish_date(5i)"=>"00",
 "id"=>"2",
 "public_keywords_string"=>"",
 "tagline"=>"",
 "keywords_string"=>"",
 "display_adsense"=>"1",
 "author_id"=>"1",
 "series_id"=>"",
 "partner_id"=>"",
 "short_desc"=>"Test"},
 "content_text"=>"<p>\r\n\tTest</p>\r\n"},
 "articlems2side__sx"=>"1",
 "commit"=>"Update",
 "_method"=>"put",
 "authenticity_token"=>"R57YKHe3VD38JbpENgZf4ruSAffkyuVp18LY1qOfE/U=",
 "id"=>"2-test",
 "site"=>{"id"=>""},
 "secondary_site"=>{"id"=>""}}
Show session dump

Response

Headers:

{"Content-Type"=>"",
 "Cache-Control"=>"no-cache"}
4

1 回答 1

1

尝试用一个值替换字符串插值并测试它,也许那里出了问题。

image_file.resize "250x250"

如果这有效,那么您需要查看您的定义,style因为它可能没有正确定义,或者您可能使用不正确的名称调用方法。

编辑0:

尝试为您的应用程序打开一个控制台并为 MiniMagick 运行一些示例代码,以便我们确保其正常工作:

image = MiniMagick::Image.open("http://www.google.com/images/logos/logo.png")
image.resize "5x5"

如果这在您的应用程序控制台中有效,那么问题存在于插件安装之外的某个地方。

编辑1:

好的,所以它的安装方法给你带来了麻烦。使用捆绑器,您可以在供应商目录中安装依赖项,这将为您提供将它们安装在系统上的所有相同行为。尝试运行bundle install --path vendor/bundleSee the docs here

于 2011-11-23T17:56:12.820 回答