Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to redirect to a certain location in a page?

I have a blogging application with comments. Currently, the comments controller has a standard create action

def create    
  @comment = current_user.build(params[:comment])
  respond_to do |format|
  if @comment.save
    format.html { redirect_to @comment.post }
  end
end

After creation, the user is redirected to the blog post for which the comment was made. How do I redirect lower down in the page, to where the new comment is?

posts/show.html.erb

<div id="post_show">
  <%= @post.content %>
  <%= render @post.comments %>
</div>

comments/_comment.html.erb

<div id="comment_partial">
  <%= comment.content %>
</div>

Is there something I can add to my HTML, then reference in my controller? Do I need to "save" the location somehow? Thanks for helping out a newbie!

like image 789
umezo Avatar asked Dec 09 '12 20:12

umezo


1 Answers

You can use the anchor option in path helpers, e.g.

redirect_to post_path(@comment.post, anchor: 'some-id')
like image 139
Ahmad Sherif Avatar answered Nov 15 '22 00:11

Ahmad Sherif