ruby on rails - Allowing users to select options from a dropdown -


my app allows users create profiles , enter information (description, name, etc..). i'd them able select language dropdown , have choice saved record in user table.

i understand have have separate languages table, language_id field on profile table , using options_from_collection_for_select create actual dropdown.

my question need model/controller files make work?

you need define model named language, table responsible storing languages. think: have 1 field named language of type string.

rails g model language language:string # though don't need ':string' part 

in app/models/language.rb:

class language < activerecord::base   has_many :users end 

now, need add language_id users table, , run following migration:

rails g migration add_language_id_to_users language:references 

and update user model accordingly:

class user < activerecord::base   belongs_to :language   # other code end 

and then, form, need send language_id when pass other parameters create user, , in controller, have permit language_id following:

def user_params   params.require(:user).permit(:first_name, :last_name, :language_id) end 

and in controller code, need create user usual, , rails magic you.

in controller, usual code:

@user = user.new(user_params) 

Comments

Popular posts from this blog

c# - Validate object ID from GET to POST -

node.js - Custom Model Validator SailsJS -

php - Find a regex to take part of Email -