-
Notifications
You must be signed in to change notification settings - Fork 27
Open
Description
Hello, I am trying to use PostHog in my Rails 7.2.3 application.
I have followed the instructions:
- Add the gems to my
Gemfile:
gem "posthog-ruby"
gem "posthog-rails"- Install with
bundle install(it installs version3.5.4) - Generate the initializer with
rails generate posthog:install - Set my
api_keyandhostin theconfig/initializers/posthog.rb
Now, when I try to run Rails with rails server I get the error
/Users/me/Projects/myrailsapp/config/initializers/posthog.rb:36:in `<main>': undefined method `init' for module PostHog (NoMethodError)
PostHog.init do |config|
^^^^^
from /Users/me/.local/share/mise/installs/ruby/3.3.10/lib/ruby/gems/3.3.0/gems/railties-7.2.3/lib/rails/engine.rb:689:in `load'
from /Users/me/.local/share/mise/installs/ruby/3.3.10/lib/ruby/gems/3.3.0/gems/railties-7.2.3/lib/rails/engine.rb:689:in `block in load_config_initializer'
from /Users/me/.local/share/mise/installs/ruby/3.3.10/lib/ruby/gems/3.3.0/gems/activesupport-7.2.3/lib/active_support/notifications.rb:212:in `instrument'
from /Users/me/.local/share/mise/installs/ruby/3.3.10/lib/ruby/gems/3.3.0/gems/railties-7.2.3/lib/rails/engine.rb:688:in `load_config_initializer'
from /Users/me/.local/share/mise/installs/ruby/3.3.10/lib/ruby/gems/3.3.0/gems/railties-7.2.3/lib/rails/engine.rb:642:in `block (2 levels) in <class:Engine>'
from /Users/me/.local/share/mise/installs/ruby/3.3.10/lib/ruby/gems/3.3.0/gems/railties-7.2.3/lib/rails/engine.rb:641:in `each'
from /Users/me/.local/share/mise/installs/ruby/3.3.10/lib/ruby/gems/3.3.0/gems/railties-7.2.3/lib/rails/engine.rb:641:in `block in <class:Engine>'
from /Users/me/.local/share/mise/installs/ruby/3.3.10/lib/ruby/gems/3.3.0/gems/railties-7.2.3/lib/rails/initializable.rb:32:in `instance_exec'
from /Users/me/.local/share/mise/installs/ruby/3.3.10/lib/ruby/gems/3.3.0/gems/railties-7.2.3/lib/rails/initializable.rb:32:in `run'
from /Users/me/.local/share/mise/installs/ruby/3.3.10/lib/ruby/gems/3.3.0/gems/railties-7.2.3/lib/rails/initializable.rb:61:in `block in run_initializers'
from /Users/me/.local/share/mise/installs/ruby/3.3.10/lib/ruby/gems/3.3.0/gems/tsort-0.2.0/lib/tsort.rb:231:in `block in tsort_each'
from /Users/me/.local/share/mise/installs/ruby/3.3.10/lib/ruby/gems/3.3.0/gems/tsort-0.2.0/lib/tsort.rb:353:in `block (2 levels) in each_strongly_connected_component'
from /Users/me/.local/share/mise/installs/ruby/3.3.10/lib/ruby/gems/3.3.0/gems/tsort-0.2.0/lib/tsort.rb:425:in `block (2 levels) in each_strongly_connected_component_from'
from /Users/me/.local/share/mise/installs/ruby/3.3.10/lib/ruby/gems/3.3.0/gems/tsort-0.2.0/lib/tsort.rb:434:in `each_strongly_connected_component_from'
from /Users/me/.local/share/mise/installs/ruby/3.3.10/lib/ruby/gems/3.3.0/gems/tsort-0.2.0/lib/tsort.rb:424:in `block in each_strongly_connected_component_from'
from /Users/me/.local/share/mise/installs/ruby/3.3.10/lib/ruby/gems/3.3.0/gems/railties-7.2.3/lib/rails/initializable.rb:50:in `each'
from /Users/me/.local/share/mise/installs/ruby/3.3.10/lib/ruby/gems/3.3.0/gems/railties-7.2.3/lib/rails/initializable.rb:50:in `tsort_each_child'
from /Users/me/.local/share/mise/installs/ruby/3.3.10/lib/ruby/gems/3.3.0/gems/tsort-0.2.0/lib/tsort.rb:418:in `call'
from /Users/me/.local/share/mise/installs/ruby/3.3.10/lib/ruby/gems/3.3.0/gems/tsort-0.2.0/lib/tsort.rb:418:in `each_strongly_connected_component_from'
from /Users/me/.local/share/mise/installs/ruby/3.3.10/lib/ruby/gems/3.3.0/gems/tsort-0.2.0/lib/tsort.rb:352:in `block in each_strongly_connected_component'
from /Users/me/.local/share/mise/installs/ruby/3.3.10/lib/ruby/gems/3.3.0/gems/tsort-0.2.0/lib/tsort.rb:350:in `each'
from /Users/me/.local/share/mise/installs/ruby/3.3.10/lib/ruby/gems/3.3.0/gems/tsort-0.2.0/lib/tsort.rb:350:in `call'
from /Users/me/.local/share/mise/installs/ruby/3.3.10/lib/ruby/gems/3.3.0/gems/tsort-0.2.0/lib/tsort.rb:350:in `each_strongly_connected_component'
from /Users/me/.local/share/mise/installs/ruby/3.3.10/lib/ruby/gems/3.3.0/gems/tsort-0.2.0/lib/tsort.rb:229:in `tsort_each'
from /Users/me/.local/share/mise/installs/ruby/3.3.10/lib/ruby/gems/3.3.0/gems/tsort-0.2.0/lib/tsort.rb:208:in `tsort_each'
from /Users/me/.local/share/mise/installs/ruby/3.3.10/lib/ruby/gems/3.3.0/gems/railties-7.2.3/lib/rails/initializable.rb:60:in `run_initializers'
from /Users/me/.local/share/mise/installs/ruby/3.3.10/lib/ruby/gems/3.3.0/gems/railties-7.2.3/lib/rails/application.rb:435:in `initialize!'
from /Users/me/Projects/myrailsapp/config/environment.rb:5:in `<main>'
from /Users/me/.local/share/mise/installs/ruby/3.3.10/lib/ruby/3.3.0/bundled_gems.rb:69:in `require'
from /Users/me/.local/share/mise/installs/ruby/3.3.10/lib/ruby/3.3.0/bundled_gems.rb:69:in `block (2 levels) in replace_require'
from /Users/me/.local/share/mise/installs/ruby/3.3.10/lib/ruby/gems/3.3.0/gems/bootsnap-1.18.3/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
from /Users/me/.local/share/mise/installs/ruby/3.3.10/lib/ruby/gems/3.3.0/gems/zeitwerk-2.7.4/lib/zeitwerk/core_ext/kernel.rb:34:in `require'
from /Users/me/.local/share/mise/installs/ruby/3.3.10/lib/ruby/gems/3.3.0/gems/railties-7.2.3/lib/rails/application.rb:411:in `require_environment!'
from /Users/me/.local/share/mise/installs/ruby/3.3.10/lib/ruby/gems/3.3.0/gems/railties-7.2.3/lib/rails/command/actions.rb:20:in `boot_application!'
from /Users/me/.local/share/mise/installs/ruby/3.3.10/lib/ruby/gems/3.3.0/gems/railties-7.2.3/lib/rails/commands/console/console_command.rb:86:in `perform'
from /Users/me/.local/share/mise/installs/ruby/3.3.10/lib/ruby/gems/3.3.0/gems/thor-1.4.0/lib/thor/command.rb:28:in `run'
from /Users/me/.local/share/mise/installs/ruby/3.3.10/lib/ruby/gems/3.3.0/gems/thor-1.4.0/lib/thor/invocation.rb:127:in `invoke_command'
from /Users/me/.local/share/mise/installs/ruby/3.3.10/lib/ruby/gems/3.3.0/gems/railties-7.2.3/lib/rails/command/base.rb:178:in `invoke_command'
from /Users/me/.local/share/mise/installs/ruby/3.3.10/lib/ruby/gems/3.3.0/gems/thor-1.4.0/lib/thor.rb:538:in `dispatch'
from /Users/me/.local/share/mise/installs/ruby/3.3.10/lib/ruby/gems/3.3.0/gems/railties-7.2.3/lib/rails/command/base.rb:73:in `perform'
from /Users/me/.local/share/mise/installs/ruby/3.3.10/lib/ruby/gems/3.3.0/gems/railties-7.2.3/lib/rails/command.rb:71:in `block in invoke'
from /Users/me/.local/share/mise/installs/ruby/3.3.10/lib/ruby/gems/3.3.0/gems/railties-7.2.3/lib/rails/command.rb:149:in `with_argv'
from /Users/me/.local/share/mise/installs/ruby/3.3.10/lib/ruby/gems/3.3.0/gems/railties-7.2.3/lib/rails/command.rb:69:in `invoke'
from /Users/me/.local/share/mise/installs/ruby/3.3.10/lib/ruby/gems/3.3.0/gems/railties-7.2.3/lib/rails/commands.rb:18:in `<main>'
from /Users/me/.local/share/mise/installs/ruby/3.3.10/lib/ruby/3.3.0/bundled_gems.rb:69:in `require'
from /Users/me/.local/share/mise/installs/ruby/3.3.10/lib/ruby/3.3.0/bundled_gems.rb:69:in `block (2 levels) in replace_require'
from /Users/me/.local/share/mise/installs/ruby/3.3.10/lib/ruby/gems/3.3.0/gems/bootsnap-1.18.3/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
from bin/rails:4:in `<main>'
It seems that somehowPostHog has not been properly initialized.
If I remove the Post.init block from the initializer the app can boot, but of course cannot send events to PostHog.
In fact, trying from the Rails console:
PostHog.capture({ distinct_id: 'user_123', event: 'test' })
(myrailsapp):2:in `<main>': PostHog is not initialized. Call PostHog.init in an initializer. (RuntimeError)
Am I missing something?
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels