Ruby on Rails,将数据保存在两个表中

米格尔·科埃略(Miguel Coelho)

我有个问题。

我有这个模型:

class Project < ApplicationRecord
  has_many :documents
  belongs_to :course_unit
  belongs_to :user
  has_and_belongs_to_many :people  
  has_one :presentation
  has_and_belongs_to_many :supervisors, :class_name => "Person", :join_table => :projects_supervisors
end

和这个模型:

class Presentation < ApplicationRecord                    
  belongs_to :project
  has_and_belongs_to_many :juries, :class_name => "Person", :join_table => :juries_presentations
end

创建新项目时,我具有模型Project的许多属性以及Presentation模型的两个属性(房间和日期),因此我不知道如何将房间和日期属性中的数据发送到表示模型。

所以我的问题是:如何创建一个新项目,将数据保存在项目表和演示文稿表中?

更新#1

我的项目负责人:

def new
  @project = Project.new 
end 

def edit
end

def create
  @project = Project.new(project_params)
  @project.build_presentation
  respond_to do |format|
    if @project.save
      format.html { redirect_to @project, notice: 'Project was successfully   created.' }
      format.json { render :show, status: :created, location: @project }
    else
      format.html { render :new }
      format.json { render json: @project.errors, status: :unprocessable_entity }
    end
  end
end

def update
  respond_to do |format|
    if @project.update(project_params)
      format.html { redirect_to @project, notice: 'Project was successfully  updated.'}
      format.json { render :show, status: :ok, location: @project }
    else
      format.html { render :edit }
      format.json { render json: @project.errors, status: :unprocessable_entity }
    end
  end
end

private

def set_project
  @project = Project.find(params[:id])
end

def project_params
  params.require(:project).permit(:title, :resume, :github, :grade,   :project_url, :date, :featured, :finished, :user_id, :course_unit_id,   presentation_attributes: [ :date , :room ])
end

我对项目的索引视图是:

<%= form_for @project do |f| %>
  <%= f.fields_for :presentations do |ff| %>
  <%= ff.label :"Dia de Apresentação" %>
  <%= ff.date_field :date %>
  <%= ff.label :"Sala de Apresentação" %>
  <%= ff.text_area :room %>
  <% end 
  <%= f.submit %> 
<% end %>
酒吧

您可以尝试如下操作:

project = Project.new(name: 'project 1')
project.build_presentation(room: 'room 1', date: Time.current)
project.save

它将保存项目名称project 1和演示文稿属于该项目,房间room 1和日期为Time.current

而且,您需要更新模型以避免进行状态验证。

class Project < ApplicationRecord
  has_one :presentation, inverse_of: :project
end

class Presentation < ApplicationRecord
  belongs_to :project, inverse_of: :presentation
end

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Ruby on Rails从一种形式保存在两个表中

来自分类Dev

Rails:将数据保存在两个表中

来自分类Dev

在Ruby on Rails中的两个表之间进行查询

来自分类Dev

将两个表连接到Ruby / Rails活动记录中

来自分类Dev

Ruby on Rails - 创建新条目时使用回调将单独表中的两个对象相乘

来自分类Dev

Ruby on Rails-连接两个表将结果添加到JSON

来自分类Dev

Ruby on Rails-遍历两个组合表

来自分类Dev

Ruby on Rails:在一个记录中创建一个后,如何在两个表中存储数据?

来自分类Dev

Ruby on Rails:在一个记录中创建一个后,如何在两个表中存储数据?

来自分类Dev

在同一个Bucket Searchkick Ruby on Rails中过滤两个数据

来自分类Dev

Ruby on Rails:一种将货币保存到数据库表中的列的方法

来自分类Dev

在Ruby中减去两个哈希

来自分类Dev

将哈希保存在csv ruby中

来自分类Dev

同一个表与 Ruby On Rails 的两个关联

来自分类Dev

Ruby-如何减去两个文件的数量并将结果保存在指定位置的其中一个文件中?

来自分类Dev

Ruby on Rails Active Record查询连接两个表并根据条件进行查询

来自分类Dev

在 Ruby on Rails 上创建 JSON 时如何合并来自两个表的信息?

来自分类Dev

在Ruby on Rails中进行数据库调用的两个条件

来自分类Dev

rails / ruby将具有相同密钥,不同值的两个哈希合并

来自分类Dev

单击时禁用 Bootstrap 表行并将其保存在 Ruby on Rails 中

来自分类Dev

Ruby on Rails,两个日期之间的Datepicker搜索

来自分类Dev

Ruby on Rails order_by的两个属性

来自分类Dev

在两个日期之间搜索记录-Ruby on Rails

来自分类Dev

Ruby on Rails参数未保存在数据库中

来自分类Dev

EF 代码优先:如何将两个实体的数据保存在一个表中?

来自分类Dev

比较Ruby on Rails中两个几乎相同的BigDecimal数

来自分类Dev

Ruby-On-Rails中的两个一对多关系

来自分类Dev

比较 Ruby on Rails 中具有相同部分的两个不同字符串

来自分类Dev

Ruby On Rails保存到数据库多个表

Related 相关文章

  1. 1

    Ruby on Rails从一种形式保存在两个表中

  2. 2

    Rails:将数据保存在两个表中

  3. 3

    在Ruby on Rails中的两个表之间进行查询

  4. 4

    将两个表连接到Ruby / Rails活动记录中

  5. 5

    Ruby on Rails - 创建新条目时使用回调将单独表中的两个对象相乘

  6. 6

    Ruby on Rails-连接两个表将结果添加到JSON

  7. 7

    Ruby on Rails-遍历两个组合表

  8. 8

    Ruby on Rails:在一个记录中创建一个后,如何在两个表中存储数据?

  9. 9

    Ruby on Rails:在一个记录中创建一个后,如何在两个表中存储数据?

  10. 10

    在同一个Bucket Searchkick Ruby on Rails中过滤两个数据

  11. 11

    Ruby on Rails:一种将货币保存到数据库表中的列的方法

  12. 12

    在Ruby中减去两个哈希

  13. 13

    将哈希保存在csv ruby中

  14. 14

    同一个表与 Ruby On Rails 的两个关联

  15. 15

    Ruby-如何减去两个文件的数量并将结果保存在指定位置的其中一个文件中?

  16. 16

    Ruby on Rails Active Record查询连接两个表并根据条件进行查询

  17. 17

    在 Ruby on Rails 上创建 JSON 时如何合并来自两个表的信息?

  18. 18

    在Ruby on Rails中进行数据库调用的两个条件

  19. 19

    rails / ruby将具有相同密钥,不同值的两个哈希合并

  20. 20

    单击时禁用 Bootstrap 表行并将其保存在 Ruby on Rails 中

  21. 21

    Ruby on Rails,两个日期之间的Datepicker搜索

  22. 22

    Ruby on Rails order_by的两个属性

  23. 23

    在两个日期之间搜索记录-Ruby on Rails

  24. 24

    Ruby on Rails参数未保存在数据库中

  25. 25

    EF 代码优先:如何将两个实体的数据保存在一个表中?

  26. 26

    比较Ruby on Rails中两个几乎相同的BigDecimal数

  27. 27

    Ruby-On-Rails中的两个一对多关系

  28. 28

    比较 Ruby on Rails 中具有相同部分的两个不同字符串

  29. 29

    Ruby On Rails保存到数据库多个表

热门标签

归档