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
Post a Comment