ChiliProject is not maintained anymore. Please be advised that there will be no more updates.
We do not recommend that you setup new ChiliProject instances and we urge all existing users to migrate their data to a maintained system, e.g. Redmine. We will provide a migration script later. In the meantime, you can use the instructions by Christian Daehn.
need to wrap a existing controller method
Added by Arnauld NYAKU at 2011-12-07 04:46 pm
I try this .
1module UserLandingPageWelcomeControllerPatch
2 def self.included(base) # :nodoc:
3 base.send(:include, InstanceMethods)
4
5 base.class_eval do
6 unloadable
7 alias_method_chain :index, :redirect
8 end
9 end
10end
11
12module InstanceMethods
13 # Adds a rates tab to the user administration page
14 def index_with_redirect
15 redirect_to 'http://mine.local/projects/arnauld-test-1/wiki'
16 end
17end
18
19WelcomeController.send(:include, UserLandingPageWelcomeControllerPatch)
and i get error below
# File Line Location 0 /home/arnauld.nyaku/.rvm/gems/ruby-1.8.7-p352@mine/gems/activesupport-2.3.14/lib/active_support/dependencies.rb 466 in `load_missing_constant' 1 /home/arnauld.nyaku/.rvm/gems/ruby-1.8.7-p352@mine/gems/activesupport-2.3.14/lib/active_support/dependencies.rb 106 in `const_missing' 2 /home/arnauld.nyaku/Applications/mine/app/helpers/application_helper.rb 21 3 /home/arnauld.nyaku/.rvm/gems/ruby-1.8.7-p352@mine/gems/activesupport-2.3.14/lib/active_support/dependencies.rb 184 in `require' 4 /home/arnauld.nyaku/.rvm/gems/ruby-1.8.7-p352@mine/gems/activesupport-2.3.14/lib/active_support/dependencies.rb 184 in `require' 5 /home/arnauld.nyaku/.rvm/gems/ruby-1.8.7-p352@mine/gems/activesupport-2.3.14/lib/active_support/dependencies.rb 291 in `require_or_load' 6 /home/arnauld.nyaku/.rvm/gems/ruby-1.8.7-p352@mine/gems/activesupport-2.3.14/lib/active_support/dependencies.rb 250 in `depend_on' 7 /home/arnauld.nyaku/.rvm/gems/ruby-1.8.7-p352@mine/gems/activesupport-2.3.14/lib/active_support/dependencies.rb 162 in `require_dependency' 8 /home/arnauld.nyaku/.rvm/gems/ruby-1.8.7-p352@mine/gems/actionpack-2.3.14/lib/action_controller/helpers.rb 197 in `default_helper_module!' 9 /home/arnauld.nyaku/.rvm/gems/ruby-1.8.7-p352@mine/gems/actionpack-2.3.14/lib/action_controller/helpers.rb 212 in `__send__' 10 /home/arnauld.nyaku/.rvm/gems/ruby-1.8.7-p352@mine/gems/actionpack-2.3.14/lib/action_controller/helpers.rb 212 in `inherited' 11 /home/arnauld.nyaku/Applications/mine/app/controllers/application_controller.rb 18 12 /home/arnauld.nyaku/.rvm/gems/ruby-1.8.7-p352@mine/gems/activesupport-2.3.14/lib/active_support/dependencies.rb 184 in `require' 13 /home/arnauld.nyaku/.rvm/gems/ruby-1.8.7-p352@mine/gems/activesupport-2.3.14/lib/active_support/dependencies.rb 184 in `require' 14 /home/arnauld.nyaku/.rvm/gems/ruby-1.8.7-p352@mine/gems/activesupport-2.3.14/lib/active_support/dependencies.rb 291 in `require_or_load' 15 /home/arnauld.nyaku/.rvm/gems/ruby-1.8.7-p352@mine/gems/activesupport-2.3.14/lib/active_support/dependencies.rb 451 in `load_missing_constant' 16 /home/arnauld.nyaku/.rvm/gems/ruby-1.8.7-p352@mine/gems/activesupport-2.3.14/lib/active_support/dependencies.rb 106 in `const_missing' 17 /home/arnauld.nyaku/.rvm/gems/ruby-1.8.7-p352@mine/gems/activesupport-2.3.14/lib/active_support/dependencies.rb 118 in `const_missing' 18 /home/arnauld.nyaku/Applications/mine/app/controllers/welcome_controller.rb 15 19 /home/arnauld.nyaku/.rvm/gems/ruby-1.8.7-p352@mine/gems/activesupport-2.3.14/lib/active_support/dependencies.rb 184 in `require' 20 /home/arnauld.nyaku/.rvm/gems/ruby-1.8.7-p352@mine/gems/activesupport-2.3.14/lib/active_support/dependencies.rb 184 in `require' 21 /home/arnauld.nyaku/.rvm/gems/ruby-1.8.7-p352@mine/gems/activesupport-2.3.14/lib/active_support/dependencies.rb 291 in `require_or_load' 22 /home/arnauld.nyaku/.rvm/gems/ruby-1.8.7-p352@mine/gems/activesupport-2.3.14/lib/active_support/dependencies.rb 451 in `load_missing_constant' 23 /home/arnauld.nyaku/.rvm/gems/ruby-1.8.7-p352@mine/gems/activesupport-2.3.14/lib/active_support/dependencies.rb 106 in `const_missing' 24 /home/arnauld.nyaku/.rvm/gems/ruby-1.8.7-p352@mine/gems/activesupport-2.3.14/lib/active_support/dependencies.rb 118 in `const_missing' 25 /home/arnauld.nyaku/Applications/mine/vendor/plugins/chiliproject_user_landing_page/lib/user_landing_page_welcome_controller_patch.rb 23 26 /home/arnauld.nyaku/.rvm/gems/ruby-1.8.7-p352@mine/gems/activesupport-2.3.14/lib/active_support/dependencies.rb 184 in `require' 27 /home/arnauld.nyaku/.rvm/gems/ruby-1.8.7-p352@mine/gems/activesupport-2.3.14/lib/active_support/dependencies.rb 184 in `require' 28 /home/arnauld.nyaku/Applications/mine/vendor/plugins/chiliproject_user_landing_page/init.rb 9 in `evaluate_init_rb' 29 /home/arnauld.nyaku/Applications/mine/vendor/plugins/chiliproject_user_landing_page/init.rb 7 in `foreach' 30 /home/arnauld.nyaku/Applications/mine/vendor/plugins/chiliproject_user_landing_page/init.rb 7 in `evaluate_init_rb' 31 /home/arnauld.nyaku/.rvm/gems/ruby-1.8.7-p352@mine/gems/rails-2.3.14/lib/rails/plugin.rb 158 in `evaluate_init_rb' 32 /home/arnauld.nyaku/.rvm/gems/ruby-1.8.7-p352@mine/gems/activesupport-2.3.14/lib/active_support/core_ext/kernel/reporting.rb 11 in `silence_warnings' 33 /home/arnauld.nyaku/.rvm/gems/ruby-1.8.7-p352@mine/gems/rails-2.3.14/lib/rails/plugin.rb 154 in `evaluate_init_rb' 34 /home/arnauld.nyaku/.rvm/gems/ruby-1.8.7-p352@mine/gems/rails-2.3.14/lib/rails/plugin.rb 48 in `load' 35 /home/arnauld.nyaku/Applications/mine/config/../vendor/plugins/engines/lib/engines/plugin.rb 45 in `load' 36 /home/arnauld.nyaku/.rvm/gems/ruby-1.8.7-p352@mine/gems/rails-2.3.14/lib/rails/plugin/loader.rb 38 in `load_plugins' 37 /home/arnauld.nyaku/.rvm/gems/ruby-1.8.7-p352@mine/gems/rails-2.3.14/lib/rails/plugin/loader.rb 37 in `each' 38 /home/arnauld.nyaku/.rvm/gems/ruby-1.8.7-p352@mine/gems/rails-2.3.14/lib/rails/plugin/loader.rb 37 in `load_plugins' 39 /home/arnauld.nyaku/.rvm/gems/ruby-1.8.7-p352@mine/gems/rails-2.3.14/lib/initializer.rb 369 in `load_plugins' 40 /home/arnauld.nyaku/.rvm/gems/ruby-1.8.7-p352@mine/gems/rails-2.3.14/lib/initializer.rb 165 in `process' 41 /home/arnauld.nyaku/.rvm/gems/ruby-1.8.7-p352@mine/gems/rails-2.3.14/lib/initializer.rb 113 in `send' 42 /home/arnauld.nyaku/.rvm/gems/ruby-1.8.7-p352@mine/gems/rails-2.3.14/lib/initializer.rb 113 in `run' 43 /home/arnauld.nyaku/Applications/mine/config/environment.rb 39 44 /home/arnauld.nyaku/.rvm/gems/ruby-1.8.7-p352/gems/passenger-3.0.9/lib/phusion_passenger/classic_rails/application_spawner.rb 222 in `require' 45 /home/arnauld.nyaku/.rvm/gems/ruby-1.8.7-p352/gems/passenger-3.0.9/lib/phusion_passenger/classic_rails/application_spawner.rb 222 in `preload_application' 46 /home/arnauld.nyaku/.rvm/gems/ruby-1.8.7-p352/gems/passenger-3.0.9/lib/phusion_passenger/classic_rails/application_spawner.rb 181 in `initialize_server' 47 /home/arnauld.nyaku/.rvm/gems/ruby-1.8.7-p352/gems/passenger-3.0.9/lib/phusion_passenger/utils.rb 572 in `report_app_init_status' 48 /home/arnauld.nyaku/.rvm/gems/ruby-1.8.7-p352/gems/passenger-3.0.9/lib/phusion_passenger/classic_rails/application_spawner.rb 174 in `initialize_server' 49 /home/arnauld.nyaku/.rvm/gems/ruby-1.8.7-p352/gems/passenger-3.0.9/lib/phusion_passenger/abstract_server.rb 204 in `start_synchronously' 50 /home/arnauld.nyaku/.rvm/gems/ruby-1.8.7-p352/gems/passenger-3.0.9/lib/phusion_passenger/abstract_server.rb 180 in `start' 51 /home/arnauld.nyaku/.rvm/gems/ruby-1.8.7-p352/gems/passenger-3.0.9/lib/phusion_passenger/classic_rails/application_spawner.rb 149 in `start' 52 /home/arnauld.nyaku/.rvm/gems/ruby-1.8.7-p352/gems/passenger-3.0.9/lib/phusion_passenger/spawn_manager.rb 219 in `spawn_rails_application' 53 /home/arnauld.nyaku/.rvm/gems/ruby-1.8.7-p352/gems/passenger-3.0.9/lib/phusion_passenger/abstract_server_collection.rb 132 in `lookup_or_add' 54 /home/arnauld.nyaku/.rvm/gems/ruby-1.8.7-p352/gems/passenger-3.0.9/lib/phusion_passenger/spawn_manager.rb 214 in `spawn_rails_application' 55 /home/arnauld.nyaku/.rvm/gems/ruby-1.8.7-p352/gems/passenger-3.0.9/lib/phusion_passenger/abstract_server_collection.rb 82 in `synchronize' 56 /home/arnauld.nyaku/.rvm/gems/ruby-1.8.7-p352/gems/passenger-3.0.9/lib/phusion_passenger/abstract_server_collection.rb 79 in `synchronize' 57 /home/arnauld.nyaku/.rvm/gems/ruby-1.8.7-p352/gems/passenger-3.0.9/lib/phusion_passenger/spawn_manager.rb 213 in `spawn_rails_application' 58 /home/arnauld.nyaku/.rvm/gems/ruby-1.8.7-p352/gems/passenger-3.0.9/lib/phusion_passenger/spawn_manager.rb 132 in `spawn_application' 59 /home/arnauld.nyaku/.rvm/gems/ruby-1.8.7-p352/gems/passenger-3.0.9/lib/phusion_passenger/spawn_manager.rb 275 in `handle_spawn_application' 60 /home/arnauld.nyaku/.rvm/gems/ruby-1.8.7-p352/gems/passenger-3.0.9/lib/phusion_passenger/abstract_server.rb 357 in `__send__' 61 /home/arnauld.nyaku/.rvm/gems/ruby-1.8.7-p352/gems/passenger-3.0.9/lib/phusion_passenger/abstract_server.rb 357 in `server_main_loop' 62 /home/arnauld.nyaku/.rvm/gems/ruby-1.8.7-p352/gems/passenger-3.0.9/lib/phusion_passenger/abstract_server.rb 206 in `start_synchronously' 63 /home/arnauld.nyaku/.rvm/gems/ruby-1.8.7-p352/gems/passenger-3.0.9/helper-scripts/passenger-spawn-server 99
Anyone has any clue about this?
Thks
Replies (2)
RE: need to wrap a existing controller method - Added by Felix Schäfer at 2011-12-07 06:21 pm
The InstanceMethod
module must be define in the same module in which you define self.included
, something like that:
1module UserLandingPageWelcomeControllerPatch
2 def self.included(base) # :nodoc:
3 base.send(:include, InstanceMethods)
4
5 base.class_eval do
6 unloadable
7 alias_method_chain :index, :redirect
8 end
9 end
10
11 module InstanceMethods
12 # Adds a rates tab to the user administration page
13 def index_with_redirect
14 redirect_to 'http://mine.local/projects/arnauld-test-1/wiki'
15 end
16 end
17end
18
19WelcomeController.send(:include, UserLandingPageWelcomeControllerPatch)
(I haven't tried it though, so there might be other problems…)
RE: need to wrap an existing controller method - Added by Arnauld NYAKU at 2011-12-07 11:05 pm
Thk Felix Schäfer.
I fixed the error.
module WelcomeControllerPatch
def self.included(base) # :nodoc:
base.send(:include, InstanceMethods)
base.class_eval do
unloadable
alias_method_chain :index, :redirect
end
end
module InstanceMethods
def index_with_redirect
redirect_to a_url
end
end
end
require 'dispatcher'
Dispatcher.to_prepare do
WelcomeController.send(:include, WelcomeControllerPatch)
end
(1-2/2)