Error in using link_to

Hi,
Problem is

<%= link_to “Index”, {:controller => “account”, :action => “index” },
:style => “text-decoration:none” %>

above, the link_to is not generating the necessary code it has to
generate

It is generating

    <a href="/" style="text-decoration:none">Index</a>

But it has to generate

    <a href="/account/index" style="text-decoration:none">Index</a>

can anyone solve this.

2009/10/17 Aashish K. [email protected]:

By digging deep i found that url_for(options) is not generating url
can any one solve this.

Have you tried changing the link_to to find what it is that is causing
the problem, removing the style, trying different controller and
actions for example? If you can get to a working situation then work
back to a failing one something may become clear, or at least less
muddy.

Colin

On Oct 17, 4:20 pm, Aashish K. [email protected]
wrote

It is generating

    <a href="/" style="text-decoration:none">Index</a>

But it has to generate

    <a href="/account/index" style="text-decoration:none">Index</a>

can anyone solve this.

What does your routes file look like ?

Fred

Aashish K. wrote:

Hi,
Problem is

<%= link_to “Index”, {:controller => “account”, :action => “index” },
:style => “text-decoration:none” %>

above, the link_to is not generating the necessary code it has to
generate

It is generating

    <a href="/" style="text-decoration:none">Index</a>

But it has to generate

    <a href="/account/index" style="text-decoration:none">Index</a>

can anyone solve this.

By digging deep i found that url_for(options) is not generating url
can any one solve this.

2009/10/18 Aashish K. [email protected]:

Frederick C. wrote:

What does your routes file look like ?

my route.rb file

ActionController::Routing::Routes.draw do |map|
 map.connect ‘’, :controller => “account”, :action => “index”

It just goes to show how clever rails is, you asked for a link to
account/index, it generated a link to / but your route says that /
should go to account/index. So that’s all right then.

Colin

Frederick C. wrote:

What does your routes file look like ?

my route.rb file

ActionController::Routing::Routes.draw do |map|
map.connect ‘’, :controller => “account”, :action => “index”

map.resources :comments

map.resources :posts, :has_many => :comments
map.resources :users

The priority is based upon order of creation: first created ->

highest priority.

Sample of regular route:

map.connect ‘products/:id’, :controller => ‘catalog’, :action =>

‘view’

Keep in mind you can assign values other than :controller and

:action

Sample of named route:

map.purchase ‘products/:id/purchase’, :controller => ‘catalog’,

:action => ‘purchase’

This route can be invoked with purchase_url(:id => product.id)

Sample resource route (maps HTTP verbs to controller actions

automatically):

map.resources :products

Sample resource route with options:

map.resources :products, :member => { :short => :get, :toggle =>

:post }, :collection => { :sold => :get }

Sample resource route with sub-resources:

map.resources :products, :has_many => [ :comments, :sales ],

:has_one => :seller

Sample resource route with more complex sub-resources

map.resources :products do |products|

products.resources :comments

products.resources :sales, :collection => { :recent => :get }

end

Sample resource route within a namespace:

map.namespace :admin do |admin|

# Directs /admin/products/* to Admin::ProductsController

(app/controllers/admin/products_controller.rb)

admin.resources :products

end

You can have the root of your site routed with map.root – just

remember to delete public/index.html.

map.root :controller => “welcome”

See how all your routes lay out with “rake routes”

Install the default routes as the lowest priority.

Note: These default routes make all actions in every controller

accessible via GET requests. You should

consider removing the them or commenting them out if you’re using

named routes and resources.
map.connect ‘:controller/:action’
map.connect ‘:controller/:action/:id’
map.connect ‘:controller/:action/:login’
map.connect ‘:controller/:action/:id.:format’
map.connect ‘user/new’, :controller => ‘user’, :action => ‘new’
end

Colin L. wrote:

ActionController::Routing::Routes.draw do |map|
 map.connect ‘’, :controller => “account”, :action => “index”

It just goes to show how clever rails is, you asked for a link to
account/index, it generated a link to / but your route says that /
should go to account/index. So that’s all right then.

Colin

thanks a lot. But instead of using below code

<%= link_to “Index”, {:controller => “account”, :action => “index” },
:style => “text-decoration:none” %>

If I say

<%= link_to "Index",  :controller => "account", :action => "index" 

%>

it is generating
Index

why is it like that