Giter Club home page Giter Club logo

Comments (14)

gazay avatar gazay commented on June 16, 2024

Hello, thanks for issue.
Yes, now I eval code of jBuilder templates inside JbuilderTemplate#encode method without including there any rails helpers. I'll add it later.

from gon.

gushonorato avatar gushonorato commented on June 16, 2024

You can workaround this issue by adding this code in your config/initializers:

module Gon
  module Jbuilder
    class << self
      include Rails.application.routes.url_helpers
    end
  end
end

from gon.

gazay avatar gazay commented on June 16, 2024

I think not only routes helpers needed here. All ActionView::Helpers should be included

from gon.

gushonorato avatar gushonorato commented on June 16, 2024

Yes! I think the custom helpers like ApplicationHelper should be included too. I haven't found how to do that automatically using controller variable inside Gon::Jbuilder#parse_jbuilder. If I found, I'll submit a pull request.

from gon.

dziulius avatar dziulius commented on June 16, 2024

Specs also does not seem to work. #get_controller fails to find any controller.

For now using this hack:

Gon::Base.expects(:get_controller).returns(controller).at_least(1)

from gon.

gazay avatar gazay commented on June 16, 2024

@dziulius hello, what do you mean? what specs doesn't work?

from gon.

gazay avatar gazay commented on June 16, 2024

btw in v3.0.4 all helpers, include route helpers are works as I tested. I'll write new tests for it now, but I think this issue solved

from gon.

dziulius avatar dziulius commented on June 16, 2024

in controller specs, i get
NoMethodError: undefined method `controller_path' for nil:NilClass
error unless i stub controller.

from gon.

cloud-on-prem avatar cloud-on-prem commented on June 16, 2024

Ive the same problem as @dziulius.
Rspec blows up with this:
NoMethodError: undefined method `controller_path' for nil:NilClass

from gon.

KrisBraun avatar KrisBraun commented on June 16, 2024

Me too: Rspec controller specs for methods that call gon.rabl fail with that error.

from gon.

gazay avatar gazay commented on June 16, 2024

Hello, can someone help me with this issue - can you provide sample application with failing spec? Then I'll fix it asap :) Thank you all!

from gon.

KrisBraun avatar KrisBraun commented on June 16, 2024

Awesome, @gazay, thanks for the help! I've created a minimal app that reproduces the issue: [email protected]:KrisBraun/gon-rabl-rspec.git

Should be as simple as sync, bundle install, rspec, boom.

from gon.

gazay avatar gazay commented on June 16, 2024

It's pretty clear what to do here - there not real request goes to gon from rspec - TestRequest goes. So there should be done some switch for env.test?. It's different issue, so I'll close this one and open new one for testing environment case.

from gon.

rcook avatar rcook commented on June 16, 2024

Workaround suggested at #124 seems to fix NoMethodError: undefined method``controller_path' for nil:NilClass problem. I do this in my ApplicationController:

class ApplicationController < ActionController::Base
  before_filter :set_up_gon
  after_filter :clear_gon

  def set_up_gon
    env['action_controller.instance'] = self
  end

  def clear_gon
    Thread.current['gon'] = nil
  end
end

from gon.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.