Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 861677
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 15, 20262026-05-15T09:01:00+00:00 2026-05-15T09:01:00+00:00

Currently users can access their profile through many paths. localhost:3000/users/current_user localhost:3000/users/current localhost:3000/users/id# How can

  • 0

Currently users can access their “profile” through many paths.

  • localhost:3000/users/current_user
  • localhost:3000/users/current
  • localhost:3000/users/id#

How can I make it that they can only get to their “profile” through localhost:3000/users/current_user

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-15T09:01:01+00:00Added an answer on May 15, 2026 at 9:01 am

    One suggestion on the ‘what’ of your question: instead of the ideal url being localhost:3000/users/current_user I suggest localhost:3000/user or something even more descriptive such as localhost:3000/profile or localhost:3000/account.

    Could you include the entries in your routes.rb? Even if Authlogic, etc. add routes to your app, they should do it in routes.rb. If you have the entry:

    map.resource :users
    

    then that’s where the /users/123 route is coming from. I agree with Matchu that even if you don’t use /users/123 you should keep it and route other requests to it.

    An Additional Idea
    If you don’t want to get into the (kinda complicated, and not pretty) business of preserving model validation errors across redirects, here’s another way. I’m assuming from here that you already have map.resource :users, so that you have the 7 default actions on your UsersController (index, new, create, show, edit, update, destroy).

    In your routes.rb:

    map.profile 'profile', :controller => 'users', :action => 'show'
    map.edit_profile 'profile/edit', :controller => 'users', :action => 'edit', :conditions => { :method => :get }
    map.update_profile 'profile/edit', :controller => 'users', :action => 'update', :conditions => { :method => :put }
    

    You will need to update your form_for tag slightly:

    <% form_for @user, :url => update_profile_path do |f| %> ...
    

    Now, assuming you start on /profile, and click an edit link that takes you to /profile/edit (should show the form), if you fill out the form such that it fails validation then you should end up back on /profile/edit with the correct errors in the f.error_messages output.

    Your controller code for edit should stay the same, and your code for update should be:

    def update
       @user = current_user || User.find(params[:id])
       if @user.update_attributes(params[:user])
         flash[:notice] = "Successfully updated user."
         redirect_to @user
       else
         render :action => 'edit'
       end
    end
    

    The render (rather than a redirect) preserves the state of the @user model (including errors) and just renders the edit template again. Since you directed it at the update_profile_path the url viewed by the user is still /profile/edit.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Ask A Question

Stats

  • Questions 422k
  • Answers 422k
  • Best Answers 0
  • User 1
  • Popular
  • Answers
  • Editorial Team

    How to approach applying for a job at a company ...

    • 7 Answers
  • Editorial Team

    How to handle personal stress caused by utterly incompetent and ...

    • 5 Answers
  • Editorial Team

    What is a programmer’s life like?

    • 5 Answers
  • Editorial Team
    Editorial Team added an answer You could introduce an abstraction like this: public abstract class… May 15, 2026 at 11:22 am
  • Editorial Team
    Editorial Team added an answer Generally speaking, objects in the BLL will consume the interfaces… May 15, 2026 at 11:22 am
  • Editorial Team
    Editorial Team added an answer I'm accessing SP with webservices, not Object Model. Anyway, I… May 15, 2026 at 11:22 am

Trending Tags

analytics british company computer developers django employee employer english facebook french google interview javascript language life php programmer programs salary

Top Members

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.