Ruby on rails rails在控制器中组合参数

Ruby on rails rails在控制器中组合参数,ruby-on-rails,parameters,controller,Ruby On Rails,Parameters,Controller,希望这更清楚一点。很抱歉,我对一般的编码很陌生。为了得到所需的正确数组,我必须连续查询多个表。查询的以下逻辑如下所示: 这给了我一个基于store:id的数组 store = Stores.find(params[:id]) 这给了我另一个数组,该数组基于在表存储中找到的param.location,其中该值等于表中的行ID department = Departments.find(store.location) 我需要执行最后一个查询,但为了执行此操作,我需要确定需要哪一天的会议。为了做

希望这更清楚一点。很抱歉,我对一般的编码很陌生。为了得到所需的正确数组,我必须连续查询多个表。查询的以下逻辑如下所示:

这给了我一个基于store:id的数组

store = Stores.find(params[:id])
这给了我另一个数组,该数组基于在表存储中找到的param.location,其中该值等于表中的行ID

department = Departments.find(store.location)
我需要执行最后一个查询,但为了执行此操作,我需要确定需要哪一天的会议。为了做到这一点,我必须创建参数day_of_meeting,该参数位于表Stores中。我尝试从上面的数组中调用它并创建一个新变量。在表Departments中,有参数,如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 = Meeting.find(which_day)

这是否使我的问题更容易理解?

find
方法只能接受像Meeting.find(1)或Meeting.find(“1-xx”)这样的参数

因此,您需要的是
Meeting.find(department.send(“day”+store.day\u of\u Meeting.to\s))


希望对大家有所帮助

你应该在模型中这样做。你介意解释一下我如何在模型中定义这个逻辑吗?我反复阅读了你的问题,我甚至不确定我是否理解你的意思(对我来说毫无意义),但因为你一次都不使用
params
,而是大量使用对象(模型)属性我猜控制器放错地方了。再一次,我想我不明白你想要实现什么。我重新写了这个问题,希望它能更清楚一点。这有什么意义吗?当你说
这给了我一个数组…
。你错了,
Stores.find(你的_id)
是一个
ActiveRecord
objectI-get“没有将Fixnum隐式转换为字符串”。该值是一个整数,所以它与添加文本“day_uu”+inetger(store.day_of_meeting)有关吗?这是因为store.day_of_of_meeting返回整数,所以需要将其转换为字符串,我已更新!完美的非常感谢。我一直在用。来证明我的愚蠢