希望这有点清楚。对不起,我对编码很新。我有多个表,我必须连续查询,以获得我需要的正确数组。查询的以下逻辑如下:
这给了我一个基于商店的数组:id
store = Stores.find(params[:id])
这给了我另一个基于表存储中找到的param .location的数组,其中该值等于表Departments中的行ID
department = Departments.find(store.location)
我需要预先形成最后一个查询,但为了做到这一点,我需要弄清楚需要哪一天的会议。为此,我必须创建表存储中的参数day_of_meeting。我尝试从上面的数组中调用它并创建一个新变量。在表部门中,我有诸如day_1,day_2之类的参数,等等。我需要能够调用department.day_1或department.day_2之类的东西。因此,我试图通过加入单词" department.day _"来实际创建变量。到变量store.day_of_meeting,它将等于某个整数,创建department.day_1 ...
which_day = ["department.day_", store.day_of_meeting].join("")
此查询查找使用从变量department.day_1中找到的值来查询表会议以查找相应行中的值。
meeting = Meeting.find(which_day)
这是否使我的问题更明白?
答案 0 :(得分:2)
find
方法只能接受Meeting.find(1)或Meeting.find(" 1-xx")等参数。
所以,你需要的是Meeting.find(department.send("day_" + store.day_of_meeting.to_s))
希望能帮到你!