rails,accepts_nested_attributes_for示例

时间:2013-11-11 00:20:01

标签: ruby-on-rails ruby ruby-on-rails-3 ruby-on-rails-4

我有以下表格以下表格:
       用户(id,role_id)has_many:条目
       类别(id,category_name)has_many:条目
       条目(id,category_id,user_id)belongs_to:user,belongs_to:category,has_one:storage
       存储空间(id,title,content,entry_id)belongs_to:entry,has_one:vote
       投票(id,count,storage_id)belongs_to:storage

现在,当用户创建新条目(通过表单)时,必须要做的事情很少:
       - 将创建条目表中的新行(已存在 user_id和category_id)
       - 将创建存储表中的新行(具有上述entry_id的帖子的标题和内容)
       - 投票表中的新行(上面有storage_id,count是默认值0)

用于创建新条目的表单必须具有用于选择类别的组合框(如:“图片”,“电影”等),标题的文本框和内容的文本区域,仅此而已。所以这里我只需要accepts_nested_attributes_for :storage内部入门模型?我不知道如何处理选票,因为用户不会通过表单输入关于投票的任何内容。

我遵循了许多教程和文档,例如: http://railscasts.com/episodes/196-nested-model-form-part-1http://api.rubyonrails.org/classes/ActiveRecord/NestedAttributes/ClassMethods.html#method-i-accepts_nested_attributes_for
回答我之前的问题Creation of object which doesn't have model, while creation need to create several entries in other tables 但无法让它如何工作。

1 个答案:

答案 0 :(得分:1)

在阅读你的问题时,我不太清楚你在追求什么。

如果您正在使用嵌套属性,请记住另一件事是路由(根据您设置关系的方式,可能会有问题,也可能没关系)

即:

resources :users do
 resources :entries
end

我知道它之前得到了我:)

根据我对您的要求的理解,您应该能够使用嵌套属性完成所需的一切。

如果您想了解更多信息,我建议您发布代码以及设置关系时遇到的错误。