88

How to add a hash parameter in link_to. I need to generate a URL something like this..

/p/generate/#sometext

This is how my code looks now.

link_to "Click",my_path

How to add the hash parameter to my routes method.

Now for the answer

When I posted the question, I didn't got through the url helpers API fully. http://api.rubyonrails.org/classes/ActionView/Helpers/UrlHelper.html#method-i-link_to

I did now. :) .I found the answer.

link_to "Click", my_path(:anchor => "sometext")

M.cypher below almost got it. :)

2 Answers 2

148

This is how you would usually do it:

link_to 'Click', my_path(anchor: 'sometext')

Your routes don't have much to do with it, since the anchor part (#something) is not transferred to the server, it's a pure client-side thing.

Sign up to request clarification or add additional context in comments.

2 Comments

I agree that the hash parameter need not be sent to the server..But the :anchor symbol should be inside the routes method
If you also want the trailing slash, /my_path/#sometext rather than /my_path#sometext you also need to add trailing_slash: true, but most people should be fine with the current answer.
16

I recognize this is an old post, but I thought I would contribute my recent discovery:

<%= link_to "New Person", polymorphic_path([:new, person], anchor: "profile") %>

See the API Docs for details.

2 Comments

Good find. This is pretty much the most clear way to set params in a nested route helper imho.
that seem to make /stuff/preson/id#profile How about getting /stuff/preson/id/#profile ?

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.