Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

cloudinary gem & rails_amp #4

Open
giugrilli opened this issue Aug 14, 2017 · 3 comments
Open

cloudinary gem & rails_amp #4

giugrilli opened this issue Aug 14, 2017 · 3 comments

Comments

@giugrilli
Copy link

giugrilli commented Aug 14, 2017

if using this gem with cloudinary gem, the cloudinary helper:

cl_image_tag (which is a wrapper to image_tag, used to create img tags with cloudinary parameters)

creates an infinite loop which throws:

SystemStackError (stack level too deep)

@takafumir
Copy link
Owner

Thank you for your report. Can you show me the error messages or logs?

@wemmick
Copy link

wemmick commented Mar 11, 2018

@takafumir - I'm getting the same error and also have the cloudinary gem. I have just installed your gem and was testing it on a single object type and got this error. I tried removing all object types from the rails_amp.yml, but I still get this error on every page where I use the cloudinary helper cl_image_tag (as noted above.)

Here's the on-page error:

SystemStackError at /learning_resources/learn-american-sign-language
stack level too deep

Application Frames All Frames
unsigned_download_url
cloudinary (1.8.2) lib/cloudinary/utils.rb, line 340
cloudinary_url
cloudinary (1.8.2) lib/cloudinary/utils.rb, line 612
cloudinary_url_internal
cloudinary (1.8.2) lib/cloudinary/helper.rb, line 296
cloudinary_tag
cloudinary (1.8.2) lib/cloudinary/helper.rb, line 46
cl_image_tag
cloudinary (1.8.2) lib/cloudinary/helper.rb, line 30
image_tag_with_cloudinary
cloudinary (1.8.2) lib/cloudinary/helper.rb, line 82
image_tag
rails_amp (0.2.2) lib/rails_amp/view_helpers/image_tag_helper.rb, line 40
block in cl_image_tag
cloudinary (1.8.2) lib/cloudinary/helper.rb, line 32
cloudinary_tag
cloudinary (1.8.2) lib/cloudinary/helper.rb, line 62
cl_image_tag
cloudinary (1.8.2) lib/cloudinary/helper.rb, line 30
image_tag_with_cloudinary
cloudinary (1.8.2) lib/cloudinary/helper.rb, line 82

And the log (partial):

Rendered learning_resources/show.html.erb within layouts/application (586.8ms)
SystemStackError (stack level too deep)

SystemStackError - stack level too deep:
  app/views/learning_resources/_resource_thumbnails.html.erb:6:in `_app_views_learning_resources__resource_thumbnails_html_erb__1570303902673928730_70256559926940'
  app/views/learning_resources/show.html.erb:326:in `_app_views_learning_resources_show_html_erb___535625416886347383_70256531079900'
  lib/middleware/turbo_dev.rb:33:in `call'

    1 rows, 2 bytes
    lib/middleware/turbo_dev.rb:33:in `call'
    31 rows, 1244 bytes
    lib/middleware/turbo_dev.rb:33:in `call'
  User Load (0.5ms)  SELECT  "users".* FROM "users" WHERE "users"."id" = $1  ORDER BY "users"."id" ASC LIMIT 1  [["id", 5]]
    1 rows, 511 bytes
    lib/middleware/turbo_dev.rb:33:in `call'
Started GET "/"
Processing by StaticPagesController#home as HTML
  GradeLevel Load (0.4ms)  SELECT "grade_levels".* FROM "grade_levels"  ORDER BY "grade_levels"."ordinal" ASC
    13 rows, 355 bytes
    app/views/static_pages/home.html.erb:28:in `_app_views_static_pages_home_html_erb___3150801494014486130_70256546922560'
    app/controllers/static_pages_controller.rb:16:in `home'
    lib/middleware/turbo_dev.rb:33:in `call'
    5 rows, 162 bytes
    app/views/static_pages/home.html.erb:28:in `_app_views_static_pages_home_html_erb___3150801494014486130_70256546922560'
    app/controllers/static_pages_controller.rb:16:in `home'
    lib/middleware/turbo_dev.rb:33:in `call'
    1 rows, 2 bytes
    app/views/static_pages/home.html.erb:28:in `_app_views_static_pages_home_html_erb___3150801494014486130_70256546922560'
    app/controllers/static_pages_controller.rb:16:in `home'
    lib/middleware/turbo_dev.rb:33:in `call'
  Rendered static_pages/home.html.erb within layouts/application (278.0ms)
SystemStackError (stack level too deep)

SystemStackError - stack level too deep:
  app/views/static_pages/home.html.erb:99:in `_app_views_static_pages_home_html_erb___3150801494014486130_70256546922560'
  app/controllers/static_pages_controller.rb:16:in `home'
  lib/middleware/turbo_dev.rb:33:in `call'

Hope this helps - let me know if I can provide more detail.

@wemmick
Copy link

wemmick commented Mar 19, 2018

Fyi, Cloudinary offered a workaround that appears to have cleared up the issue for me:

set enhance_image_tag: false in your Cloudinary configuration (either in your coudinary.yml file or through Cloudinary.config)
This will make sure that the original ActionView::Base#image_tag won't be replaced by Cloudinary's causing a loop of calls:
cl_image_tag => image_tag_without_cloudinary => image_tag => RailsAmp#image_tag => super =>cl_image_tag

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

No branches or pull requests

3 participants