rails组合控制器中的参数

时间:2014-06-16 03:55:57

标签: ruby-on-rails parameters controller

希望这有点清楚。对不起,我对编码很新。我有多个表,我必须连续查询,以获得我需要的正确数组。查询的以下逻辑如下:

这给了我一个基于商店的数组: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)

这是否使我的问题更明白?

1 个答案:

答案 0 :(得分:2)

find方法只能接受Meeting.find(1)或Meeting.find(" 1-xx")等参数。

所以,你需要的是Meeting.find(department.send("day_" + store.day_of_meeting.to_s))

希望能帮到你!