Rails4 - How to design model to save multiple items for a table's column?

I have a user model with name, email and password.
Now I want to add languages know by the user to the user model.

I can do that by the following

rails generate migration add_languagesknown_to_users
languagesknown:string

But I want the user to have the capability to store multiple languages.

Some users will know only one language some might know 10.

And,

I have a view to search all users when the search button is clicked. But
later I want to search users using languages known field. Can someone
kindly share on how do I create a migration for such use?

For instance, a user “Sam” signs up with English and Spanish as known
languages;
when users search for users who know English, Sam should be listed;
when users search for users who know Spanish, Sam should be listed.
How do I create a migration for this?

Should i create a table of languages and associate it with the user
model?

Can anybody share how please?

For this situation, you should have User, Language, and UserLanguage
models. User :has_many user_languages and :has_many languages :through
user_languages.

Take a look at Ryan B.’ webcast
#17 HABTM Checkboxes (revised) - RailsCasts. It is a bit
old but still applies to your question.