Commit 669d28c34e051ff9eda0118cdd791f0236c1357f

Authored by ikeqiao
1 parent 2e70600e
Exists in master

reademe

Showing 1 changed file with 20 additions and 14 deletions   Show diff stats
README.md
... ... @@ -47,9 +47,9 @@ Add magic fields to your model:
47 47 Supply additional options if you have more specific requirements for your fields:
48 48  
49 49 ```ruby
50   -@charlie.charlie.create_magic_fields(:name => "last_name", :is_required => true)
51   -@charlie.charlie.create_magic_fields(:name => "birthday", :datatype => :date)
52   -@charlie.charlie.create_magic_fields(:name => "salary", :default => "40000", :pretty_name => "Yearly Salary")
  50 +@charlie.create_magic_fields(:name => "last_name", :is_required => true)
  51 +@charlie.create_magic_fields(:name => "birthday", :datatype => :date)
  52 +@charlie.create_magic_fields(:name => "salary", :default => "40000", :pretty_name => "Yearly Salary")
53 53 ```
54 54  
55 55 The `:datatype` option supports: `:check_box_boolean`, `:date`, `:datetime`, `:integer`
... ... @@ -84,7 +84,7 @@ class Account < ActiveRecord::Base
84 84 has_many :users
85 85 has_magic_fields
86 86 end
87   -@account = Account.create(:name => "BobCorp")
  87 +@account = Account.create(:name => "BobCorp",:type_scoped => "User")
88 88 ```
89 89  
90 90 And declare the child as having magic fields :through the parent.
... ... @@ -98,24 +98,20 @@ end
98 98 @alice = User.create(:name => "alice", :account => @account)
99 99 ```
100 100  
101   -To see all the magic fields available for a child from its parent:
  101 +To see all the magic fields available for a type_scoped(User) child from its parent:
102 102  
103 103 ```ruby
104 104 @alice.magic_fields #=> [#<MagicColumn>,...]
105   -@account.magic_fields #=> [#<MagicColumn>,...]
106   -@product.magic_fields #=> [#<MagicColumn>,...]
107   -@alice.account.magic_fields #=> [#<MagicColumn>,...]
108   -@product.account.magic_fields #=> [#<MagicColumn>,...]
109 105 ```
110 106  
111 107 To add magic fields, go through the parent or child:
112 108  
113 109 ```ruby
114   -@alice.magic_fields.create(...)
115   -@account.magic_fields.create(...)
  110 +@alice.create_magic_fields(...)
  111 +@account.create_magic_fields(…,:type_scoped => "User")
116 112 ```
117 113  
118   -All children for a given parent will have access to the same magic fields:
  114 +All User children for a given parent will have access to the same magic fields:
119 115  
120 116 ```ruby
121 117 @alice.create_magic_fields(:name => "salary")
... ... @@ -127,6 +123,7 @@ All children for a given parent will have access to the same magic fields:
127 123 ```
128 124  
129 125  
  126 +
130 127 ###Different Model Inherited from The Samle Model
131 128 the other modle Inherited from Account
132 129  
... ... @@ -136,10 +133,19 @@ class Product &lt; ActiveRecord::Base
136 133 belongs_to :account
137 134 has_magic_fields :through => :account
138 135 end
  136 +
139 137 @product = Product.create(:name => "car", :account => @account)
140 138 ```
141   -@product haven't salary magic field.
142   -@product.salary
  139 +@product haven't salary magic field, @product.salary should raise NoMethodError
  140 +
  141 +parent @account also haven't salary magic field
  142 +
  143 +## get all magic fields
  144 +```ruby
  145 +@account.magic_fields #get all meagic_fields both self and children
  146 +@account.magic_fields_with_scoped #get all meagic_fields self
  147 +@account.magic_fields_with_scoped("User") #get all meagic_fields User model
  148 +```
143 149  
144 150 ##To Do
145 151  
... ...