2012-05-16 54 views
0

更詳細的我自己的記錄集,這很簡單,但有很多字段和子記錄,我只想能夠獲得例如在github上給予合作,即https://github.com/activescaffold/active_scaffold/wiki/API%3A-Nested不能讓Rails 3活動腳手架嵌套表單/記錄正常工作

# app/models/company.rb 
class Company < ActiveRecord::Base 
    has_many :contacts 
end 

# app/models/contact.rb 
class Contact < ActiveRecord::Base 
    belongs_to :company 
end 

# app/controllers/contacts_controller.rb 
class ContactsController < ApplicationController 
    active_scaffold :contacts do | config | 
    end 
end 

# app/controllers/companies_controller.rb 
class CompaniesController < ApplicationController 
    active_scaffold :companies do |config| 
    config.nested.add_link("Company's contacts", [:contacts]) 
    end 
end 

顯然觸點表有COMPANY_ID列(即外鍵)。 '現狀'看來,在公司控制人員中,'公司'需要成爲'公司'。這一變化後因此,config.nested ...行導致以下錯誤: -

路由錯誤 未定義的方法`add_link」的零:NilClass

試圖(和失敗)後,只要解決這個我評論說出來,那很好,但我需要一個一對一(或無)的關係,因此作出改變(聯繫人不得不改變聯繫,Rails的,否則對象): -

# app/models/company.rb 
class Company < ActiveRecord::Base 
    has_one:contact 
end 

這似乎工作,但是當聯繫人更新時,會造成表格混亂,在表單頂部顯示更新的聯繫人,就在fi這些標籤實際上屬於下面的記錄,即公司記錄。它還允許在創建公司記錄時創建多個聯繫人,但這可能受到另一種方法的限制,或者可能在config.nested.add_link工作時修復。

回答

1

我有同樣的問題,只是用這個(這是在您發佈的同一個鏈接):

config.nested.add_link(:contacts, :label => "Company's contacts", :page => true) 
+0

感謝您的答覆,對不起,我從來沒有檢查回來,這樣我結束了使用ActiveAdmin來代替,該工作得很好。 – Ahmad