Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to define own routing helpers in rails 3?

I use polimorphic_path and it some buggy. This method require some route helper that not defined. How can I define (like regular method) own route helper which will be used like "model_name_path, model_name_url etc"?

like image 728
abonec Avatar asked Jun 24 '11 16:06

abonec


1 Answers

This solution worked for me.

Add this code to the end of config/routes.rb file. Make sure to replace MyApp with your application's name.

MyApp::Application.routes.named_routes.module.module_eval do
  def model_name_path(*args)
    # Your code here
  end

  def model_name_url(*args)
    # Your code here
  end
end

MyApp::Application.routes.named_routes.instance_eval do
  @helpers += [:model_name_path, :model_name_url]
end

These custom methods will be available in controllers, views and tests.

like image 137
Anton Styagun Avatar answered Oct 04 '22 22:10

Anton Styagun