0

前言:拉客的Rails协会反馈+问题从一个小白

如果您在#rubyonrails挂出freenode上这听起来像一个回声给你,因为我以前问它在那里2天。在花了几个小时研究AR协会之后,在#rubyonrails讨论后,我仍然感到迷失,所以我在这里问。 :)

目标

我主持了一些博客。我的意图是创建批量提交,在我发布帖子的情况下,选择我希望提交帖子的博客,然后为该批次提交提交日期。稍后,我想创建一个查询批次的工作人员,然后将帖子实际提交给相关的博客。

我感到困惑的困惑我应该如何设置我的协会和相应的表格。

以下是我对模型。

class Blog < ActiveRecord::Base 
    has_many :submissions 
    has_many :posts, :through => :submissions 
end 


class Post < ActiveRecord::Base 
    has_many :submissions 
    has_many :blogs, :through => :submissions 
end 


class Submission < ActiveRecord::Base 
    belongs_to :post 
    belongs_to :blog 
end 

这是我对桌子有什么。

[Blogs] 
id   :integer   not null, primary key 
title  :string(255) 
etc 

[Posts] 
id   :integer   not null, primary key 
subject :string(255) 
content :text 
etc 

[Submissions] 
id   :integer   not null, primary key 
submit_date :datetime 
post_id  :integer 
forum_id :integer 
etc 

问题

  • 我目前还没有批模型 - 我应该有这个?或者可以通过回溯提交来推断“批次”?
  • 我是否应该有一个批处理模式,将意味着那么Submisson模型得到一个额外的外键?
  • 有没有更多的“轨道方式”来做到这一点?
  • 欢迎任何其他意见!

非常感谢阅读这个庞大的职位。

回答

1

在您提交的表格,我建议你改变forum_id到blog_id与Rails风气约定优于配置保持一致。否则,您需要指定forum_id是用于提交的foreign_key。

因此,无论[首选]:

[Submissions] 
id   :integer   not null, primary key 
submit_date :datetime 
post_id  :integer 
**blog**_id :integer 
etc 

或者:

class Blog < ActiveRecord::Base 
    has_many :submissions, :foreign_key => "forum_id" 
    has_many :posts, :through => :submissions 
end 

根据您的描述,我不相信你需要另一种模式,而只使用所提交的材料表submit_date场。