您需要定義一個名爲Language
的模型,該表將負責存儲所有語言。我認爲:它將有一個字段類型爲language
的字段。
rails g model Language language:string # though you don't need ':string' part
在應用程序/模型/ language.rb:
class Language < ActiveRecord::Base
has_many :users
end
現在,您需要將language_id
添加到用戶表,並且您將運行以下遷移:
rails g migration add_language_id_to_users language:references
並相應更新User
型號:
class User < ActiveRecord::Base
belongs_to :language
# other code
end
,然後從你的form
,你需要發送一個language_id
當你通過其他參數創建一個用戶,並在控制器中,你將不得不允許language_id
像以下:
def user_params
params.require(:user).permit(:first_name, :last_name, :language_id)
end
而在你的控制器代碼,你只需要像往常一樣創建一個用戶,Rails將爲你做出魔術。
在控制器,平常代碼:
@user = User.new(user_params)
歡迎您。如果你認爲答案是有效的,並幫助你,你可以接受它。 –