7
A
回答
6
對不起,我不知道任何插件來做到這一點。但我有一個實施建議。
這個想法是添加一個「DynamicField」模型,該模型與Contact模型有has_many關係。 如果在聯繫人模型中缺少方法,則檢查是否有動態字段來檢索它,如果是這種情況。
class DynamicField < ActiveRecord::Base
belongs_to :contact
end
class Contact < ActiveRecord::Base
has_many :dynamic_fields
def method_missing(sym, *args, &block)
begin
super
rescue
field = dynamic_fields.find_by_name(sym)
end
raise ActiveRecord::NoMethodError if field.nil?
field.value
end
end
您將需要添加一個正則表達式,如果你想與屬性=方法添加虛擬屬性(檢測的「=」的存在,做一個更新,而不是隻得到的值)。 但你已經有了這個想法。
當方法不存在時,我們檢查動態字段是否有相同的名稱。 如果沒有(field.nil?),我們引發一個NoMethodError。否則,我們將其退回。
所以,你可以出現以下所有字段的列表:
Contact.find(:first).dynamic_fields
和檢索特定的一個具有以下內容:
Contact.find(:first).my_dynamic_field
2
這裏做的另一種方式。
免責聲明:此方法不建議,因爲它可能會被濫用。實際上,它應該只適用於您網站的管理員。
class MyModel < ActiveRecord::Base
...
def self.add_column(name, type, args= {})
ActiveRecord::Migration.add_column table_name, name, type, args
end
end
相關問題
- 1. Rails獲取模型的指定字段
- 2. 在Rails 2.2.2中動態添加字段到ActiveRecord模型?
- 3. 動態地指定模型中的limit_choices_to
- 4. Django動態模型字段
- 5. Rails的動態在模型
- 6. django中的動態模型字段
- 7. Rails的,動態的用戶定義的字段
- 8. 用客戶指定的附加動態字段創建表單?
- 9. 動態指定綁定字段
- 10. 動態長度的Django模型字段
- 11. Rails模型:如何讓Rails模型中的字段只讀?
- 12. 如何在Rails上使用參數動態更改模型的字段?
- 13. 在Rails中保存動態字段
- 14. 動態確定Rails模型屬性
- 15. 如何在模型中使用動態字段?
- 16. Rails模型標籤字段
- 17. 在Mongoose中的動態模式字段
- 18. 動態字段添加到Django模型
- 19. 如何動態添加模型字段?
- 20. 如何在Django中使用模型字段設置動態選擇字段
- 21. 在Devise中編輯自定義字段用戶模型
- 22. 在Rails 3中以嵌套模型形式動態添加字段
- 23. Rails belongs_to用戶,但多態has_many模型?
- 24. Rails多態用戶模型與設計
- 25. 如何在創建新模型(用戶)時隱藏rails rails顯示的字段?
- 26. Ruby on Rails動態模型
- 27. 帶有由模型定義的動態字段的表格
- 28. Rails中的動態搜索字段
- 29. 如何在django的模型中添加動態字段?
- 30. 動態自定義字段的數據模型