如何从Rails控制台使用Rails关联?

时间:2019-01-24 07:33:51

标签: ruby-on-rails ruby activerecord associations rails-console

我有两个活动记录,分别是 Ingredients Category 。我必须在Rails控制台中执行以下命令,该命令在创建 Bread Type 的同时在类别 Bread type 中添加了一个名为 Protein Bread 的新项目。同时分类:

Ingredient.create!(name: 'Protein Bread', price: 2.5, categories: 
[Category.new(title: 'Bread Type')])

现在我的问题是如何添加一个新的元素,例如,在面包类型类别中,其名称将为不含叶黄素的面包?我试过了:

Ingredient.create!(name: 'Glutein-free Bread', price: 0.2, category: Bread 
Type)

但是我收到一条错误消息:

SyntaxError: (irb):4: syntax error, unexpected tCONSTANT, expecting 
keyword_do or '{' or '(' 

有人知道如何去做吗?预先感谢

2 个答案:

答案 0 :(得分:2)

为了更好地阅读,我认为最好先创建/查找类别,然后再创建成分

    [ [ locationData("https://profile/82","150","","https://userpicture/1544126707_img_1819.jpg","Old School","adasd, asdasd, asdasd, asafasf"),45.042 , 39.006014, 1, markerIcon ]
...]

答案 1 :(得分:0)

@category = Category.find_by(title: "Bread Type")
@category.ingredients

显示所有与成分相关的类别,如果两个表之间存在关联,则使用该类别。

现在,您可以创建与食材相关的类别

@category.ingredients.create!(name: "example", price: 202)