Update the documentation, to match the availability of some extra options :partial and :render_options.
This commit is contained in:
parent
ad87c04d4e
commit
7212a7a13c
@ -149,14 +149,33 @@ It takes four parameters:
|
|||||||
- f: referring to the containing form-object
|
- f: referring to the containing form-object
|
||||||
- association: the name of the association (plural) of which a new instance needs to be added (symbol or string).
|
- association: the name of the association (plural) of which a new instance needs to be added (symbol or string).
|
||||||
- html_options: extra html-options (see `link_to`)
|
- html_options: extra html-options (see `link_to`)
|
||||||
There are three extra options that allow to control the placement of the new link-data:
|
There are some special options, the first three allow to control the placement of the new link-data:
|
||||||
- `data-association-insertion-node` : the jquery selector of the node
|
- `data-association-insertion-node` : the jquery selector of the node
|
||||||
- `data-association-insertion-method` : jquery method that inserts the new data. `before`, `after`, `append`, `prepend`, etc. Default: `before`
|
- `data-association-insertion-method` : jquery method that inserts the new data. `before`, `after`, `append`, `prepend`, etc. Default: `before`
|
||||||
- `data-association-insertion-position` : old method specifying where to insert new data.
|
- `data-association-insertion-position` : old method specifying where to insert new data.
|
||||||
- this setting still works but `data-association-insertion-method` takes precedence. may be removed in a future version.
|
- this setting still works but `data-association-insertion-method` takes precedence. may be removed in a future version.
|
||||||
|
- `partial`: explicitly declare the name of the partial that will be used
|
||||||
|
- `render_options` : options passed through to the form-builder function (e.g. `simple_fields_for`, `semantic_fields_for` or `fields_for`).
|
||||||
|
|
||||||
Optionally you could also leave out the name and supply a block that is captured to give the name (if you want to do something more complicated).
|
Optionally you could also leave out the name and supply a block that is captured to give the name (if you want to do something more complicated).
|
||||||
|
|
||||||
|
#### :render_options
|
||||||
|
Inside the `html_options` you can add an option `:render_options`, and the containing hash will be handed down to the form-builder for the inserted
|
||||||
|
form. E.g. especially when using `twitter-bootstrap` and `simple_form` together, the `simple_fields_for` needs the option `:wrapper => 'inline'` which can
|
||||||
|
be handed down as follows:
|
||||||
|
|
||||||
|
````haml
|
||||||
|
= link_to_add_association 'add something', f, :something, :render_options => {:wrapper => 'inline' }
|
||||||
|
````
|
||||||
|
|
||||||
|
#### :partial
|
||||||
|
|
||||||
|
To overrule the default partial name, e.g. because it shared between multiple views, write
|
||||||
|
|
||||||
|
````haml
|
||||||
|
= link_to_add_association 'add something', f, :something, :partial => 'shared/something_fields'
|
||||||
|
````
|
||||||
|
|
||||||
|
|
||||||
### link_to_remove_association
|
### link_to_remove_association
|
||||||
|
|
||||||
@ -171,13 +190,6 @@ It takes three parameters:
|
|||||||
|
|
||||||
Optionally you could also leave out the name and supply a block that is captured to give the name (if you want to do something more complicated).
|
Optionally you could also leave out the name and supply a block that is captured to give the name (if you want to do something more complicated).
|
||||||
|
|
||||||
Inside the `html_options` you can add an option `:render_options`, and the containing hash will be handed down to the form-builder for the inserted
|
|
||||||
form. E.g. especially when using `twitter-bootstrap` and `simple_form` together, the `simple_fields_for` needs the option `:wrapper => 'inline'` which can
|
|
||||||
be handed down as follows:
|
|
||||||
|
|
||||||
````haml
|
|
||||||
= link_to_add_association 'add something', f, :something, :render_options => {:wrapper => 'inline' }
|
|
||||||
````
|
|
||||||
|
|
||||||
### Callbacks (upon insert and remove of items)
|
### Callbacks (upon insert and remove of items)
|
||||||
|
|
||||||
@ -234,7 +246,12 @@ The `association-insertion-method` will determine where to add it in relation wi
|
|||||||
|
|
||||||
### Partial
|
### Partial
|
||||||
|
|
||||||
The partial should be named `_<association-object_singular>_fields`, and should start with a container (e.g. `div`) of class `.nested-fields`.
|
If no explicit partial-name is given, `cocoon` looks for a file named `_<association-object_singular>_fields`.
|
||||||
|
To override the default partial-name use the option `:partial`.
|
||||||
|
|
||||||
|
For the javascript to behave correctly, the partial should start with a container (e.g. `div`) of class `.nested-fields`.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
There is no limit to the amount of nesting, though.
|
There is no limit to the amount of nesting, though.
|
||||||
|
|
||||||
|
@ -45,6 +45,8 @@ module Cocoon
|
|||||||
# - *f* : the form this should come in (the formtastic form)
|
# - *f* : the form this should come in (the formtastic form)
|
||||||
# - *association* : the associated objects, e.g. :tasks, this should be the name of the <tt>has_many</tt> relation.
|
# - *association* : the associated objects, e.g. :tasks, this should be the name of the <tt>has_many</tt> relation.
|
||||||
# - *html_options*: html options to be passed to <tt>link_to</tt> (see <tt>link_to</tt>)
|
# - *html_options*: html options to be passed to <tt>link_to</tt> (see <tt>link_to</tt>)
|
||||||
|
# - *:render_options* : options passed to `simple_fields_for, semantic_fields_for or fields_for`
|
||||||
|
# - *:partial* : explicitly override the default partial name
|
||||||
# - *&block*: see <tt>link_to</tt>
|
# - *&block*: see <tt>link_to</tt>
|
||||||
|
|
||||||
def link_to_add_association(*args, &block)
|
def link_to_add_association(*args, &block)
|
||||||
|
Loading…
Reference in New Issue
Block a user