2017-02-18 3 views
1

Я пытаюсь создать самостоятельное соединение в рельсах.Self присоединяется к рельсам 5.0, используя postgresql

class ItemGroup < ApplicationRecord 
    has_many :children, class_name: "ItemGroup", foreign_key: "parent_id" 

    belongs_to :parent, class_name: "ItemGroup" 
end 

Это мой код, но когда я пытаюсь добавить новую запись, он не сохраняет его. Так в чем проблема в этом коде, может кто-нибудь помочь мне или дать мне представление о том, как присоединиться.

class CreateItemGroups < ActiveRecord::Migration[5.0] 
    def change 
    create_table :item_groups do |t| 
     t.string :name 
     t.integer :parent_id 
     t.text :description 
     t.references :parent, index: true 

     t.timestamps 
    end 
    end 
end 

И это мой файл миграции.

ответ

2

Rails 5 соответствует belongs_to. Для того, чтобы отключить его нужно добавить optional: true к belongs_to

belongs_to :parent, class_name: "ItemGroup", optional: true 
+0

спасибо ... он работал ... так что вы можете сказать мне, как получить доступ к данным также –

+0

<% =%> f.parent.name я попытался использовать это, но он не дал мне имя –

+0

здесь f является параметром цикла –

Смежные вопросы