你好堆栈溢出的人
我对rails平台比较陌生,需要一些模型查询帮助
这是我的代码:
def create
@project = Project.new(params[:project])
if @project.save
redirect_to new_project_path
end
student=@project.student_str.split(";")
end
每次创建新项目时,都会存储一个名为student_str的字符串,其中每个学生的ID号由“;”分隔。我使用split函数将该字符串拆分为数组
所以,这是我的问题
我有另一个名为users的模型,其中包含系统中所有学生的列表。 我想为所有模型条目选择@users,其ID与数组“student”中的任何数组值匹配。
非常感谢任何帮助
由于
编辑:
现在,我正在测试垃圾数据。所以我的student_str会是这样的 1PI12CS019; 1PI10IS034; 1PI11ME110
每个ID都由“;”
分隔学生模型是使用devise gem创建的,包含以下字段
ID 名称 电子邮件 电话号码
和其他设计的东西
答案 0 :(得分:1)
给定student_str
为1PI12CS019;1PI10IS034;1PI11ME110
,使用这些ID获取用户的最简单方法是首先拆分字符串并使用结果进行查询。
>> student_str = '1PI12CS019;1PI10IS034;1PI11ME110'
>> ids = student_str.split(';')
>> User.where(id: ids) # should give you a list of users matching the ids in the string
了解这一点,实际上有两件事我想提出来。