Forum: Ruby on Rails how to read anchor in controller

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
fanz (Guest)
on 2007-06-02 12:41
(Received via mailing list)
Anybody no how to read the anchor of a request?
I make an redirect_to like this:
redirect_to :controller=>"foo" :action=>"index" :anchor=>"bar"
then in action index,I try to read url like this:
c=request.path_parameters['controller']
ac=request.path_parameters['action']
an=request.path_parameters['anchor']
finally I get c and ac the value I want,but fail to get an

Any thought?Thanks!
Jamal S. (Guest)
on 2007-06-02 12:43
fanz wrote:
> Anybody no how to read the anchor of a request?
> I make an redirect_to like this:
> redirect_to :controller=>"foo" :action=>"index" :anchor=>"bar"
> then in action index,I try to read url like this:
> c=request.path_parameters['controller']
> ac=request.path_parameters['action']
> an=request.path_parameters['anchor']
> finally I get c and ac the value I want,but fail to get an
>
> Any thought?Thanks!

You recieve the parameter by using params in your controller

params[:controller]
params[:action]
params[:anchor]
fanz (Guest)
on 2007-06-02 12:57
(Received via mailing list)
> You recieve the parameter by using params in your controller
>
> params[:controller]
> params[:action]
> params[:anchor]
>
> --
> Posted viahttp://www.ruby-forum.com/.

I try your codes,but the result is the same,is it a bug?
Zach I. // LT3media (Guest)
on 2007-06-02 13:18
(Received via mailing list)
You do not have permission to post to group rubyonrails-talk. You
may need to
join the group before being allowed to post, or this group may not be
open to
posting.

Cheers,
Zach I.
→ Blog -- http://www.zachinglis.com
→ Company -- http://www.lt3media.com
→ Portfolio -- http://portfolio.zachinglis.com
Zach I. // LT3media (Guest)
on 2007-06-02 13:18
(Received via mailing list)
Ooops, wrong copy and paste.

How about you tell us WHAT anchor is returning. Nil?

Are you sure anchor is set?

Cheers,
Zach I.
→ Blog -- http://www.zachinglis.com
→ Company -- http://www.lt3media.com
→ Portfolio -- http://portfolio.zachinglis.com
Jamal S. (Guest)
on 2007-06-02 13:22
Zach I. // LT3media wrote:
> You do not have permission to post to group rubyonrails-talk. You
> may need to
> join the group before being allowed to post, or this group may not be
> open to
> posting.
>
> Cheers,
> Zach I.
> → Blog -- http://www.zachinglis.com
> → Company -- http://www.lt3media.com
> → Portfolio -- http://portfolio.zachinglis.com

Who are you talking to?
fanz (Guest)
on 2007-06-02 13:57
(Received via mailing list)
On Jun 2, 5:17 pm, Zach I. // LT3media <removed_email_address@domain.invalid> 
wrote:
> Ooops, wrong copy and paste.
>
> How about you tell us WHAT anchor is returning. Nil?
>
> Are you sure anchor is set?
I'm not so sure,but I try two ways to fire a request with an anchor:
1) I use browser to send something like: localhost.com/foo#bar
2) I also use
redirect_to :controller=>"foo" :action=>"index" :anchor=>"bar"
And I use logger.info(params[:anchor]) to monitor the result,and what
I get is always a blank row.By the same time,I have
logger.info(params[:controller]) get the right value there.
fanz (Guest)
on 2007-06-02 14:26
(Received via mailing list)
and I also got a correct redirect url with an anchor I set,so I think
the anchor is set at least by the redirect way. And I think the
problem is params didn't get it. The proof is when I use
params.to_json,what i get is something like:
{action: "index", controller: "foo"},but no anchor.
Jamal S. (Guest)
on 2007-06-02 14:36
fanz wrote:
> and I also got a correct redirect url with an anchor I set,so I think
> the anchor is set at least by the redirect way. And I think the

Try to post your code here, so we can see what's wrong :)
Bill K. (Guest)
on 2007-06-02 15:47
(Received via mailing list)
On Jun 2, 4:43 am, Jamal S. <removed_email_address@domain.invalid>
wrote:

> You recieve the parameter by using params in your controller

> params[:anchor]

Are you completely sure this works? As far as I know, browsers don't
pass anchor information in their requests, and my experimentation here
seems to verify this. I don't think it's possible to read the anchor
from the URL on the server (though you can set it there).
fanz (Guest)
on 2007-06-02 17:45
(Received via mailing list)
here's my code of controller:
class FooController < ApplicationController
  def o
    logger.info("i'm in o")
    logger.info(params[:controller])
    logger.info(params[:action])
    logger.info(params[:anchor])
    logger.info(params.to_json)
    redirect_to (:action=>"a",:anchor=>"blabla")
  end
  def a
    logger.info("i'm in a")
    logger.info(params[:controller])
    logger.info(params[:action])
    logger.info(params[:anchor])
    logger.info(params.to_json)
    respond_to do |format|
      format.html {render :text=> "hi"}
      end
  end
end

and i send a request in browser like:"localhost.3000/foo/o#kkk"

and i get a hi response with a url:flocalhost.3000/foo/a#blabla
Jamal S. (Guest)
on 2007-06-02 20:01
fanz wrote:
> here's my code of controller:
>
> and i send a request in browser like:"localhost.3000/foo/o#kkk"
>
> and i get a hi response with a url:flocalhost.3000/foo/a#blabla

Those are not parameters #kkk and #blablah ??

and if you are not getting anything from params[:controller] and
params[:action] then you have a problem with your framework.
fanz (Guest)
on 2007-06-02 20:12
(Received via mailing list)
I get the right value with params[:controller] and params[:action],but
nothing with params[:anchor]
i'think
Bill K. is right, the reason is the browser won't send anchor to
the server
This topic is locked and can not be replied to.