Project.joins(:project_status).where(id: 1).first
我想使用" Project.ProjectStatus.name"等字符串。它将返回已连接项目状态的名称,以及Project.name。
之类的名称.read_attribute()似乎没有更深入地加入/包含记录。 .send工作时我会这样做。(' ProjectStatus')。发送(' id')但这似乎不太理想,可能很危险,这些变量来自用户。
它适用于模板引擎,所以我可能会有类似的东西...... " {{Project.name}}状态已更改为{{ProjectStatus.name}}"
我可以拿到任何宝石吗?我现在非常厌倦了我在Google上搜索的内容。在CakePHP中,我使用过Hash :: extract,之前有点像xpath。
答案 0 :(得分:0)
Project和ProjectStatus之间的关联是什么?我认为它是has_one: :project_status
?
无论如何,如果您希望能够致电@project.name
(其中@project
是类Project
的实例; .name
应该针对每个项目,所以你应该将它定义为实例方法而不是类方法Project.name
),你可以在Project模型中创建一个方法:
def name
project_status.name
end
假设您之前在模型中将关联定义为
has_one: :project_status
现在只需使用.name