我正在挑战自己建立一个小市场,您可以在类别中发布“请求”。为此我有请求模型和类别模型。如何在这些模型之间添加关系,以便该类别知道它属于请求,反之亦然?我已经做了:Ruby on Rails:两种模式之间的关系
category.rb
has_and_belongs_to_many :requests
request.rb
has_one :category
现在我的表格里面的部分我有这样的代码:
<%= f.select :category, Category.all, :prompt => "Kategorie", class: "form-control" %>
的奇怪的是:category
不存在,因为列应该是:name
。在我seeds.rb
我插入以下,其中后运行良好rake db:seed
Category.create(name: 'PHP')
Category.create(name: 'Ruby')
Category.create(name: 'HTML')
Category.create(name: 'ASP')
Category.create(name: 'C#')
Category.create(name: 'C++')
但随着:category
上面的代码显示了这一点:
有从种子文件中的所有6个类别,而不是类别的实际名称(如“PHP”)。如果我在这个代码采取:name
,而不是:category
:
<%= f.select :category, Category.all, :prompt => "Kategorie", class: "form-control" %>
我得到一个
undefined method `name' for #<Request:0x007ff504266b40>
我的类别表:
Category(id: integer, name: string, description: text, created_at: datetime, updated_at: datetime)
我如何可以调用类的具体请求,何时保存? @Category.request
?
我真的很困惑(对不起,我从8月下旬才学习Rails)。
很多感谢提前!
非常感谢! – CottonEyeJoe