Added associations (has_many & belongs_to) to README
commit 646784e84d007848203bf00d99e3f3d757586da1 Author: Holger Frohloff <holger.frohloff@gmail.com> Date: Sat Oct 6 23:11:36 2012 +0200 Added attributes to model descriptions modified: README.md commit 60e62d1e847ebdb948e01f41997a91d768f99fbb Author: Holger Frohloff <holger.frohloff@gmail.com> Date: Sat Oct 6 23:09:29 2012 +0200 Renamed @search object modified: README.md commit c547afaf0aaea3ec07a62298ba933a332bf01755 Author: Holger Frohloff <holger.frohloff@gmail.com> Date: Sat Oct 6 23:06:19 2012 +0200 Added associations to README modified: README.md
This commit is contained in:
parent
953ec1b502
commit
928e63f965
52
README.md
52
README.md
|
@ -34,7 +34,7 @@ If you're coming from MetaSearch, things to note:
|
||||||
|
|
||||||
1. The default param key for search params is now `:q`, instead of `:search`. This is
|
1. The default param key for search params is now `:q`, instead of `:search`. This is
|
||||||
primarily to shorten query strings, though advanced queries (below) will still
|
primarily to shorten query strings, though advanced queries (below) will still
|
||||||
run afoul of URL length limits in most browsers and require a switch to HTTP
|
run afoul of URL length limits in most browsers and require a switch to HTTP
|
||||||
POST requests. This key is
|
POST requests. This key is
|
||||||
[configurable](https://github.com/ernie/ransack/wiki/Configuration)
|
[configurable](https://github.com/ernie/ransack/wiki/Configuration)
|
||||||
2. `form_for` is now `search_form_for`, and validates that a Ransack::Search object
|
2. `form_for` is now `search_form_for`, and validates that a Ransack::Search object
|
||||||
|
@ -103,6 +103,56 @@ Once you've done so, you can make use of the helpers in Ransack::Helpers::FormBu
|
||||||
construct much more complex search forms, such as the one on the
|
construct much more complex search forms, such as the one on the
|
||||||
[demo page](http://ransack-demo.heroku.com).
|
[demo page](http://ransack-demo.heroku.com).
|
||||||
|
|
||||||
|
### has_many and belongs_to associations
|
||||||
|
|
||||||
|
You can easily use Ransack to search in associated objects.
|
||||||
|
|
||||||
|
Given you have these associations ...
|
||||||
|
|
||||||
|
class Employee < ActiveRecord::Base
|
||||||
|
belongs_to :supervisor
|
||||||
|
|
||||||
|
# has attribute last_name:string
|
||||||
|
end
|
||||||
|
|
||||||
|
class Department < ActiveRecord::Base
|
||||||
|
has_many :supervisors
|
||||||
|
|
||||||
|
# has attribute title:string
|
||||||
|
end
|
||||||
|
|
||||||
|
class Supervisor < ActiveRecord::Base
|
||||||
|
belongs_to :department
|
||||||
|
has_many :employees
|
||||||
|
|
||||||
|
# has attribute last_name:string
|
||||||
|
end
|
||||||
|
|
||||||
|
... and a controller ...
|
||||||
|
|
||||||
|
class SupervisorsController < ApplicationController
|
||||||
|
def index
|
||||||
|
@search = Supervisor.search(params[:q])
|
||||||
|
@supervisors = @search.result(:distinct => true)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
... you might set up your form like this ...
|
||||||
|
|
||||||
|
<%= search_form_for @search do |f| %>
|
||||||
|
<%= f.label :last_name_cont %>
|
||||||
|
<%= f.text_field :last_name_cont %>
|
||||||
|
|
||||||
|
<%= f.label :department_title_cont %>
|
||||||
|
<%= f.text_field :department_title_cont %>
|
||||||
|
|
||||||
|
<%= f.label :employees_last_name_cont %>
|
||||||
|
<%= f.text_field :employees_last_name_cont %>
|
||||||
|
|
||||||
|
<%= f.submit "search" %>
|
||||||
|
<% end %>
|
||||||
|
|
||||||
|
|
||||||
## Contributions
|
## Contributions
|
||||||
|
|
||||||
To support the project:
|
To support the project:
|
||||||
|
|
Loading…
Reference in New Issue