2017-10-14 86 views
0

我已经从续集响应访问值的问题。这只是我缺乏知识,我是续集的新手。红宝石访问值在续集响应

我写网站,我问的文章,然后我送的类别查询(在机型ID相关联的),所以我有2个变量进行迭代。

我这样做

@articles.each_with_index do |article, i| 
     article.id 
     article.author 
     ... 

,我也为类别值,当我用撬重复它,我收到良好的数据

@cat.each do |category| 
    category.each do |c| 
    puts c 
    end 
end 

给我完美的输出与山坳的名字“ category_cz“和值。

所以我试图做的上部区段,并在我的语言类的名称填写。

@articles.each_with_index do |article, i| 
     article.id 
     article.author 
     @cat[i].???.category_cz 
end 

我不知道如何访问值???,我试着组合基于我的关联。

路我送查询。

@articles = Article.association_join(:articles_data_cz).select 
binding.pry 
@cat = Article.association_join(:category).select(:category_cz) 

而且我有表格文章和类别模型之间的关联。

类别:

one_to_one :articles 

中的文章:

many_to_one :articles_data_cz, key: :article_cz 
    many_to_one :articles_data_en, key: :article_en 
    many_to_one :category, key: :category 

我知道这是我的愚蠢和知识的缺乏,我尝试了大量的组合,我无法从文档猜测。

请什么建议吗?

感谢

M.

+0

我想你搞砸了你的关联。我无法真正理解你想要做什么。你想把每篇文章放到一个类别中吗?或者你想添加类别的文章?首先,我们需要知道你想要什么样的联系,然后我们可以帮助你建立这些联系,以及如何得到正确的答案。 – three

+0

啊,是的,我很抱歉,我正在尝试添加存储在文章表中的类别名称,而不是数字。我有表“的文章”里与外键的基本物品的相关信息,以articles_data_en和articles_data_cz语言版本,并表类,其中有类别的文章,表项目有3个外键类别(INT),article_cz(int)和article_en( INT)。类别中的每一行对每种语言都有one_to_one,每篇文章都有一个类别。我将文章中的many_to_one分类为文章,将one_to_one分类为文章。 – Mlok

回答

0

我已经解决了这个问题,续集没有猜对我的表名,所以我打了协会,我现在过的对象的实例访问所有值模型,并且一切都很完美。对于可能被卡住的其他人,请检查关联的正确性。