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

  • Home
  • SEARCH
  • 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 254169
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 11, 20262026-05-11T21:49:26+00:00 2026-05-11T21:49:26+00:00

I have a model called Profile which is belong_to User, so there is ‘user_id’

  • 0

I have a model called Profile which is belong_to User, so there is ‘user_id’ for the database to keep track of. In the local admin interface I made for this model I wanted to provide the flexibility of allowing admin to enter an username to a field in the editing screen, and then resolve that to user_id for saving in controller.

However the question is, how do I check against that the username have a valid return? I found that in ActiveRecord::Validation there is no method for validating the existence of the association. How will you handle a situation like this?

Update: What I want to do is to validate that the username field in the form is indeed a real user, then I could save that user_id back to the profile admin is editing. Here ‘return’ means the user object returned.

  • 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-11T21:49:27+00:00Added an answer on May 11, 2026 at 9:49 pm

    This problem is a good candidate for virtual attributes.
    Instead of trying to resolve the username, let the profile model to the job for you.

    class Profile
    
      belongs_to :user
    
      # ...
    
      def username
        user.try(:username)
      end
    
      def username=(value)
        self.user = User.find_by_username(value)
      end
    
    end
    

    Then in your form

    <% form_for @profile do |f| %>
    
      <%= f.text_field :username %>
    
    <% end %>
    

    When submitted, the value for the username field is automatically passed with all the other real activerecord attributes. ActiveRecord will look for the username= setter and will resolve the association.
    If the association returns nil (no record exists with given username), then it will set current user_id to nil and validation will fail as expected.

    You might want to customize the error code to make more meaningful.

    EDIT: Added example.

    validate :ensure_username_exists 
    
    def username=(value) 
      self.user_id = User.find_by_username(value) || 0 
    end 
    
    protected 
    
      def ensure_username_exists 
        if user_id == 0 # nil is allowed 
          errors.add(:user_id, "Username doesn't exists") 
          return false 
        end
      end
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have extended Django's User Model using a custom user profile called UserExtension .
In my user model, I have an attribute called nickname and validates as such:
I have a model Foo which have a ForeignKey to the User model. Later,
In my app, I have a User model, which includes a number of attributes
Let's assume I have a model called product. Let's assume that product has three
I have a simple model called Party with a corresponding table called parties .
I have a class in my domain model called JobPlan this class is stored
I have a model Question with a field called userid , before one ask
I've got a model in CakePHP that doesn't have a table, called Upload. I've
For example, lets say I have an entity called user and an entity called

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.