Ruby on rails 允许用户从下拉列表中选择选项

Ruby on rails 允许用户从下拉列表中选择选项,ruby-on-rails,ruby,Ruby On Rails,Ruby,我的应用程序允许用户创建配置文件并输入信息(描述、名称等)。我希望他们能够从下拉列表中选择自己的语言,并将选择保存到用户表中的记录中 我知道我必须有一个单独的languages表,在配置文件表上有一个language\u id字段,并使用options\u from\u collection\u for\u select创建实际的下拉列表 我的问题是,我需要对模型/控制器文件做什么才能使这些都正常工作 您需要定义一个名为Language的模型,此表将负责存储所有语言。我的想法是:它将有一个名为l

我的应用程序允许用户创建配置文件并输入信息(描述、名称等)。我希望他们能够从下拉列表中选择自己的语言,并将选择保存到用户表中的记录中

我知道我必须有一个单独的
languages
表,在配置文件表上有一个
language\u id
字段,并使用
options\u from\u collection\u for\u select
创建实际的下拉列表


我的问题是,我需要对模型/控制器文件做什么才能使这些都正常工作

您需要定义一个名为
Language
的模型,此表将负责存储所有语言。我的想法是:它将有一个名为
language
的字符串类型的字段

rails g model Language language:string # though you don't need ':string' part
在app/models/language.rb中:

class Language < ActiveRecord::Base
  has_many :users
end
并相应地更新
用户
模型:

class User < ActiveRecord::Base
  belongs_to :language
  # other code
end
在控制器代码中,您只需要像往常一样创建一个用户,Rails将为您带来奇迹

在控制器中,通常代码:


不客气。如果你认为答案是正确的,并且对你有所帮助,你可以接受它。
class User < ActiveRecord::Base
  belongs_to :language
  # other code
end
def user_params
  params.require(:user).permit(:first_name, :last_name, :language_id)
end
@user = User.new(user_params)