如何在_form.html.erb和.controller中设置“创建”以使用自嵌套路由进行单继承

时间:2019-07-15 06:27:45

标签: ruby-on-rails nested single-table-inheritance

我是Rails的新手,我正在尝试从帖子继承一个子帖子。一个post所属用户和has_many个子帖子。我不确定如何创建表单和控制器以使帖子变为subpost类型。

我尝试看过教程,但是我无法理解这个问题。

我看过的东西是这个。 :https://devblast.com/b/single-table-inheritance-with-rails-4-part-1/

假设模型正确。

这是路线的样子

 Rails.application.routes.draw do
  resources :users do
    resources :post do
      resources :subpost, controller: :post, type: 'Subpost'
    end
  end

这是桌子

  create_table "posts", force: :cascade do |t|
    t.text "text"
    t.integer "user_id"
    t.integer "post_id"
    t.string "type"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.index ["post_id"], name: "index_posts_on_post_id"
    t.index ["user_id"], name: "index_posts_on_user_id"
  end

我一直在使用的表单:

<%= form_with (model: [ @user, @user.posts.build ], local: true) do |form| %>

我希望子帖子记录user_id post_id并在表格上正确键入。

0 个答案:

没有答案