This commit is contained in:
deivid-rodriguez 2022-04-07 18:05:02 +00:00
parent 65cc60b3ff
commit 8b13610b12
71 changed files with 165 additions and 165 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
"use strict";(self.webpackChunkdocs_website=self.webpackChunkdocs_website||[]).push([[782],{3905:function(e,n,t){t.d(n,{Zo:function(){return p},kt:function(){return f}});var r=t(7294);function o(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function a(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function i(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?a(Object(t),!0).forEach((function(n){o(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):a(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function c(e,n){if(null==e)return{};var t,r,o=function(e,n){if(null==e)return{};var t,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)t=a[r],n.indexOf(t)>=0||(o[t]=e[t]);return o}(e,n);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)t=a[r],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(o[t]=e[t])}return o}var s=r.createContext({}),u=function(e){var n=r.useContext(s),t=n;return e&&(t="function"==typeof e?e(n):i(i({},n),e)),t},p=function(e){var n=u(e.components);return r.createElement(s.Provider,{value:n},e.children)},l={inlineCode:"code",wrapper:function(e){var n=e.children;return r.createElement(r.Fragment,{},n)}},d=r.forwardRef((function(e,n){var t=e.components,o=e.mdxType,a=e.originalType,s=e.parentName,p=c(e,["components","mdxType","originalType","parentName"]),d=u(t),f=o,m=d["".concat(s,".").concat(f)]||d[f]||l[f]||a;return t?r.createElement(m,i(i({ref:n},p),{},{components:t})):r.createElement(m,i({ref:n},p))}));function f(e,n){var t=arguments,o=n&&n.mdxType;if("string"==typeof e||o){var a=t.length,i=new Array(a);i[0]=d;var c={};for(var s in n)hasOwnProperty.call(n,s)&&(c[s]=n[s]);c.originalType=e,c.mdxType="string"==typeof e?e:o,i[1]=c;for(var u=2;u<a;u++)i[u]=t[u];return r.createElement.apply(null,i)}return r.createElement.apply(null,t)}d.displayName="MDXCreateElement"},7864:function(e,n,t){t.r(n),t.d(n,{assets:function(){return p},contentTitle:function(){return s},default:function(){return f},frontMatter:function(){return c},metadata:function(){return u},toc:function(){return l}});var r=t(7462),o=t(3366),a=(t(7294),t(3905)),i=["components"],c={sidebar_position:2,title:"CSV Export"},s=void 0,u={unversionedId:"going-further/exporting-to-csv",id:"going-further/exporting-to-csv",title:"CSV Export",description:"Exporting to CSV",source:"@site/docs/going-further/exporting-to-csv.md",sourceDirName:"going-further",slug:"/going-further/exporting-to-csv",permalink:"/ransack/going-further/exporting-to-csv",editUrl:"https://github.com/activerecord-hackery/ransack/docs/docs/docs/going-further/exporting-to-csv.md",tags:[],version:"current",sidebarPosition:2,frontMatter:{sidebar_position:2,title:"CSV Export"},sidebar:"tutorialSidebar",previous:{title:"Custom predicates",permalink:"/ransack/going-further/custom-predicates"},next:{title:"i18n",permalink:"/ransack/going-further/i18n"}},p={},l=[],d={toc:l};function f(e){var n=e.components,t=(0,o.Z)(e,i);return(0,a.kt)("wrapper",(0,r.Z)({},d,t,{components:n,mdxType:"MDXLayout"}),(0,a.kt)("p",null,"Exporting to CSV"),(0,a.kt)("p",null,"Example downloading a csv file preserving ransack search, based on ",(0,a.kt)("a",{parentName:"p",href:"https://gist.github.com/pama/adff25ed1f4b796ce088ea362a08e1c5"},"this gist")),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-jsx",metastring:"title='index.html.erb'",title:"'index.html.erb'"},"<h1>Users</h1>\n\n<%= search_form_for @q, url: dashboard_index_path do |f| %>\n <%= f.label :name_cont %>\n <%= f.search_field :name_cont %>\n\n <%= f.submit %>\n<% end %>\n\n<ul>\n <% @users.each do |user| %>\n <li><%= user.name %> [<%= user.devices.map {|device| device.name }.join(', ') %>]</li>\n <% end %>\n</ul>\n\n<% if params[:q] %>\n <%= link_to 'Export 1', dashboard_index_path({name: params[:q][:name_cont]}.merge({format: :csv})) %>\n<% else %>\n <%= link_to 'Export 2', dashboard_index_path(format: 'csv') %>\n<% end %>\n")),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-jsx",metastring:"title='user.rb'",title:"'user.rb'"},"require 'csv'\n\nclass User < ApplicationRecord\n has_many :devices\n\n def self.get_csv(users)\n CSV.generate do |csv|\n csv << [\"Name\", \"Devices\"]\n\n users.each do |user|\n csv << [user.name, user.devices.map{|device| device.name}.join(', ')]\n end\n end\n end\nend\n")))}f.isMDXComponent=!0}}]);
"use strict";(self.webpackChunkdocs_website=self.webpackChunkdocs_website||[]).push([[782],{3905:function(e,n,t){t.d(n,{Zo:function(){return p},kt:function(){return f}});var r=t(7294);function o(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function a(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function i(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?a(Object(t),!0).forEach((function(n){o(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):a(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function c(e,n){if(null==e)return{};var t,r,o=function(e,n){if(null==e)return{};var t,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)t=a[r],n.indexOf(t)>=0||(o[t]=e[t]);return o}(e,n);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)t=a[r],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(o[t]=e[t])}return o}var s=r.createContext({}),u=function(e){var n=r.useContext(s),t=n;return e&&(t="function"==typeof e?e(n):i(i({},n),e)),t},p=function(e){var n=u(e.components);return r.createElement(s.Provider,{value:n},e.children)},l={inlineCode:"code",wrapper:function(e){var n=e.children;return r.createElement(r.Fragment,{},n)}},d=r.forwardRef((function(e,n){var t=e.components,o=e.mdxType,a=e.originalType,s=e.parentName,p=c(e,["components","mdxType","originalType","parentName"]),d=u(t),f=o,m=d["".concat(s,".").concat(f)]||d[f]||l[f]||a;return t?r.createElement(m,i(i({ref:n},p),{},{components:t})):r.createElement(m,i({ref:n},p))}));function f(e,n){var t=arguments,o=n&&n.mdxType;if("string"==typeof e||o){var a=t.length,i=new Array(a);i[0]=d;var c={};for(var s in n)hasOwnProperty.call(n,s)&&(c[s]=n[s]);c.originalType=e,c.mdxType="string"==typeof e?e:o,i[1]=c;for(var u=2;u<a;u++)i[u]=t[u];return r.createElement.apply(null,i)}return r.createElement.apply(null,t)}d.displayName="MDXCreateElement"},7864:function(e,n,t){t.r(n),t.d(n,{assets:function(){return p},contentTitle:function(){return s},default:function(){return f},frontMatter:function(){return c},metadata:function(){return u},toc:function(){return l}});var r=t(7462),o=t(3366),a=(t(7294),t(3905)),i=["components"],c={sidebar_position:2,title:"CSV Export"},s=void 0,u={unversionedId:"going-further/exporting-to-csv",id:"going-further/exporting-to-csv",title:"CSV Export",description:"Exporting to CSV",source:"@site/docs/going-further/exporting-to-csv.md",sourceDirName:"going-further",slug:"/going-further/exporting-to-csv",permalink:"/ransack/going-further/exporting-to-csv",editUrl:"https://github.com/activerecord-hackery/ransack/edit/main/docs/docs/going-further/exporting-to-csv.md",tags:[],version:"current",sidebarPosition:2,frontMatter:{sidebar_position:2,title:"CSV Export"},sidebar:"tutorialSidebar",previous:{title:"Custom predicates",permalink:"/ransack/going-further/custom-predicates"},next:{title:"i18n",permalink:"/ransack/going-further/i18n"}},p={},l=[],d={toc:l};function f(e){var n=e.components,t=(0,o.Z)(e,i);return(0,a.kt)("wrapper",(0,r.Z)({},d,t,{components:n,mdxType:"MDXLayout"}),(0,a.kt)("p",null,"Exporting to CSV"),(0,a.kt)("p",null,"Example downloading a csv file preserving ransack search, based on ",(0,a.kt)("a",{parentName:"p",href:"https://gist.github.com/pama/adff25ed1f4b796ce088ea362a08e1c5"},"this gist")),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-jsx",metastring:"title='index.html.erb'",title:"'index.html.erb'"},"<h1>Users</h1>\n\n<%= search_form_for @q, url: dashboard_index_path do |f| %>\n <%= f.label :name_cont %>\n <%= f.search_field :name_cont %>\n\n <%= f.submit %>\n<% end %>\n\n<ul>\n <% @users.each do |user| %>\n <li><%= user.name %> [<%= user.devices.map {|device| device.name }.join(', ') %>]</li>\n <% end %>\n</ul>\n\n<% if params[:q] %>\n <%= link_to 'Export 1', dashboard_index_path({name: params[:q][:name_cont]}.merge({format: :csv})) %>\n<% else %>\n <%= link_to 'Export 2', dashboard_index_path(format: 'csv') %>\n<% end %>\n")),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-jsx",metastring:"title='user.rb'",title:"'user.rb'"},"require 'csv'\n\nclass User < ApplicationRecord\n has_many :devices\n\n def self.get_csv(users)\n CSV.generate do |csv|\n csv << [\"Name\", \"Devices\"]\n\n users.each do |user|\n csv << [user.name, user.devices.map{|device| device.name}.join(', ')]\n end\n end\n end\nend\n")))}f.isMDXComponent=!0}}]);

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1 +0,0 @@
"use strict";(self.webpackChunkdocs_website=self.webpackChunkdocs_website||[]).push([[491],{3707:function(e){e.exports=JSON.parse('{"blogPosts":[{"id":"ransack-3-0-0","metadata":{"permalink":"/ransack/blog/ransack-3-0-0","editUrl":"https://github.com/activerecord-hackery/ransack/docs/blog/blog/2022-03-27-ransack-3.0.0.md","source":"@site/blog/2022-03-27-ransack-3.0.0.md","title":"Ransack 3.0.0","description":"Ransack has been a part of many Rubyists toolboxes for years and 3.0.0 is a major release. We have a number of new features and one breaking change. As part of 3.0.0, we decided to launch this documentation website, merging in the Wiki and the content from the README.","date":"2022-03-27T00:00:00.000Z","formattedDate":"March 27, 2022","tags":[{"label":"ransack","permalink":"/ransack/blog/tags/ransack"},{"label":"release","permalink":"/ransack/blog/tags/release"}],"readingTime":1.05,"truncated":false,"authors":[{"name":"Sean Carroll","title":"Ransack Core Team"}],"frontMatter":{"slug":"ransack-3-0-0","title":"Ransack 3.0.0","authors":{"name":"Sean Carroll","title":"Ransack Core Team"},"tags":["ransack","release"]}},"content":"Ransack has been a part of many Rubyists toolboxes for years and 3.0.0 is a major release. We have a number of new features and one breaking change. As part of 3.0.0, we decided to launch this documentation website, merging in the Wiki and the content from the README.\\n\\nWith 3.0.0 we are hoping to re-energise the community, we need help on closing out old issues, refactoring the codebase and even some design work.\\n\\nI also wanted to let you know that Ernie Miller (creator of Ransack) has decided to leave the project completely, he has this message for the community:\\n\\n> While my own personal development efforts have been spent elsewhere as of late, I\'m keenly aware of how many people still depend on some of the software I originally wrote all those years ago.\\n\\n> That\'s why I\'m grateful to be able to step away from the ActiveRecord Hackery organization (and, specifically, maintenance of Ransack) without impacting those users. I\'m thankful that Sean, David, Greg, and others will continue to support users, and wish them the best as they move forward without me!\\n\\nPlease join me in thanking Ernie for bringing Ransack to life, I personally think it is one of the most amazing Rails libraries out there."}]}')}}]);

View File

@ -0,0 +1 @@
"use strict";(self.webpackChunkdocs_website=self.webpackChunkdocs_website||[]).push([[491],{3707:function(e){e.exports=JSON.parse('{"blogPosts":[{"id":"ransack-3-0-0","metadata":{"permalink":"/ransack/blog/ransack-3-0-0","editUrl":"https://github.com/activerecord-hackery/ransack/edit/main/blog/blog/2022-03-27-ransack-3.0.0.md","source":"@site/blog/2022-03-27-ransack-3.0.0.md","title":"Ransack 3.0.0","description":"Ransack has been a part of many Rubyists toolboxes for years and 3.0.0 is a major release. We have a number of new features and one breaking change. As part of 3.0.0, we decided to launch this documentation website, merging in the Wiki and the content from the README.","date":"2022-03-27T00:00:00.000Z","formattedDate":"March 27, 2022","tags":[{"label":"ransack","permalink":"/ransack/blog/tags/ransack"},{"label":"release","permalink":"/ransack/blog/tags/release"}],"readingTime":1.05,"truncated":false,"authors":[{"name":"Sean Carroll","title":"Ransack Core Team"}],"frontMatter":{"slug":"ransack-3-0-0","title":"Ransack 3.0.0","authors":{"name":"Sean Carroll","title":"Ransack Core Team"},"tags":["ransack","release"]}},"content":"Ransack has been a part of many Rubyists toolboxes for years and 3.0.0 is a major release. We have a number of new features and one breaking change. As part of 3.0.0, we decided to launch this documentation website, merging in the Wiki and the content from the README.\\n\\nWith 3.0.0 we are hoping to re-energise the community, we need help on closing out old issues, refactoring the codebase and even some design work.\\n\\nI also wanted to let you know that Ernie Miller (creator of Ransack) has decided to leave the project completely, he has this message for the community:\\n\\n> While my own personal development efforts have been spent elsewhere as of late, I\'m keenly aware of how many people still depend on some of the software I originally wrote all those years ago.\\n\\n> That\'s why I\'m grateful to be able to step away from the ActiveRecord Hackery organization (and, specifically, maintenance of Ransack) without impacting those users. I\'m thankful that Sean, David, Greg, and others will continue to support users, and wish them the best as they move forward without me!\\n\\nPlease join me in thanking Ernie for bringing Ransack to life, I personally think it is one of the most amazing Rails libraries out there."}]}')}}]);

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -6,8 +6,8 @@
<meta name="generator" content="Docusaurus v2.0.0-beta.18">
<link rel="alternate" type="application/rss+xml" href="/ransack/blog/rss.xml" title="Ransack documentation RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/ransack/blog/atom.xml" title="Ransack documentation Atom Feed"><title data-rh="true">Advanced Mode | Ransack documentation</title><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://activerecord-hackery.github.io/ransack/getting-started/advanced-mode"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Advanced Mode | Ransack documentation"><meta data-rh="true" name="description" content="&quot;Advanced&quot; searches Rails&#x27;s nested attributes functionality in order to"><meta data-rh="true" property="og:description" content="&quot;Advanced&quot; searches Rails&#x27;s nested attributes functionality in order to"><link data-rh="true" rel="icon" href="/ransack/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://activerecord-hackery.github.io/ransack/getting-started/advanced-mode"><link data-rh="true" rel="alternate" href="https://activerecord-hackery.github.io/ransack/getting-started/advanced-mode" hreflang="en"><link data-rh="true" rel="alternate" href="https://activerecord-hackery.github.io/ransack/getting-started/advanced-mode" hreflang="x-default"><link rel="stylesheet" href="/ransack/assets/css/styles.03efa0bd.css">
<link rel="preload" href="/ransack/assets/js/runtime~main.ea950ceb.js" as="script">
<link rel="preload" href="/ransack/assets/js/main.deaad47f.js" as="script">
<link rel="preload" href="/ransack/assets/js/runtime~main.57a46884.js" as="script">
<link rel="preload" href="/ransack/assets/js/main.639c7d33.js" as="script">
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@ -19,8 +19,8 @@ that the increased size of the parameter string will typically force you to use
the HTTP POST method instead of GET.</p><h2 class="anchor anchorWithStickyNavbar_mojV" id="tweak-your-routes">Tweak your routes<a class="hash-link" href="#tweak-your-routes" title="Direct link to heading"></a></h2><div class="codeBlockContainer_I0IT language-ruby theme-code-block"><div class="codeBlockContent_wNvx" style="color:#393A34;background-color:#f6f8fa"><pre tabindex="0" class="prism-code language-ruby codeBlock_jd64 thin-scrollbar"><code class="codeBlockLines_mRuA"><span class="token-line" style="color:#393A34"><span class="token plain">resources :people do</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> collection do</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> match &#x27;search&#x27; =&gt; &#x27;people#search&#x27;, via: [:get, :post], as: :search</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> end</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">end</span><br></span></code></pre><button type="button" aria-label="Copy code to clipboard" title="Copy" class="copyButton_eDfN clean-btn"><span class="copyButtonIcons_W9eQ" aria-hidden="true"><svg class="copyButtonIcon_XEyF" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_i9w9" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div><h2 class="anchor anchorWithStickyNavbar_mojV" id="add-a-controller-action">Add a controller action<a class="hash-link" href="#add-a-controller-action" title="Direct link to heading"></a></h2><div class="codeBlockContainer_I0IT language-ruby theme-code-block"><div class="codeBlockContent_wNvx" style="color:#393A34;background-color:#f6f8fa"><pre tabindex="0" class="prism-code language-ruby codeBlock_jd64 thin-scrollbar"><code class="codeBlockLines_mRuA"><span class="token-line" style="color:#393A34"><span class="token plain">def search</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> index</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> render :index</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">end</span><br></span></code></pre><button type="button" aria-label="Copy code to clipboard" title="Copy" class="copyButton_eDfN clean-btn"><span class="copyButtonIcons_W9eQ" aria-hidden="true"><svg class="copyButtonIcon_XEyF" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_i9w9" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div><h2 class="anchor anchorWithStickyNavbar_mojV" id="update-your-form">Update your form<a class="hash-link" href="#update-your-form" title="Direct link to heading"></a></h2><div class="codeBlockContainer_I0IT language-erb theme-code-block"><div class="codeBlockContent_wNvx" style="color:#393A34;background-color:#f6f8fa"><pre tabindex="0" class="prism-code language-erb codeBlock_jd64 thin-scrollbar"><code class="codeBlockLines_mRuA"><span class="token-line" style="color:#393A34"><span class="token plain">&lt;%= search_form_for @q, url: search_people_path,</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> html: { method: :post } do |f| %&gt;</span><br></span></code></pre><button type="button" aria-label="Copy code to clipboard" title="Copy" class="copyButton_eDfN clean-btn"><span class="copyButtonIcons_W9eQ" aria-hidden="true"><svg class="copyButtonIcon_XEyF" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_i9w9" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div><p>Once you&#x27;ve done so, you can make use of the helpers in <a href="https://github.com/activerecord-hackery/ransack/lib/ransack/helpers/form_builder.rb" target="_blank" rel="noopener noreferrer">Ransack::Helpers::FormBuilder</a> to
construct much more complex search forms, such as the one on the
<a href="http://ransack-demo.herokuapp.com/users/advanced_search" target="_blank" rel="noopener noreferrer">demo app</a>
(source code <a href="https://github.com/activerecord-hackery/ransack_demo" target="_blank" rel="noopener noreferrer">here</a>).</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/activerecord-hackery/ransack/docs/docs/docs/getting-started/advanced-mode.md" target="_blank" rel="noreferrer noopener" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_dcUD" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_foO9"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages navigation"><div class="pagination-nav__item"><a class="pagination-nav__link" href="/ransack/getting-started/simple-mode"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Simple mode</div></a></div><div class="pagination-nav__item pagination-nav__item--next"><a class="pagination-nav__link" href="/ransack/getting-started/configuration"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Configuration</div></a></div></nav></div></div><div class="col col--3"><div class="tableOfContents_cNA8 thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#tweak-your-routes" class="table-of-contents__link toc-highlight">Tweak your routes</a></li><li><a href="#add-a-controller-action" class="table-of-contents__link toc-highlight">Add a controller action</a></li><li><a href="#update-your-form" class="table-of-contents__link toc-highlight">Update your form</a></li></ul></div></div></div></div></main></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="row footer__links"><div class="col footer__col"><div class="footer__title">Docs</div><ul class="footer__items"><li class="footer__item"><a class="footer__link-item" href="/ransack/">Documentation</a></li></ul></div><div class="col footer__col"><div class="footer__title">Community</div><ul class="footer__items"><li class="footer__item"><a href="https://stackoverflow.com/questions/tagged/ransack" target="_blank" rel="noopener noreferrer" class="footer__link-item">Stack Overflow<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li></ul></div><div class="col footer__col"><div class="footer__title">More</div><ul class="footer__items"><li class="footer__item"><a class="footer__link-item" href="/ransack/blog">Blog</a></li><li class="footer__item"><a href="https://github.com/activerecord-hackery/ransack" target="_blank" rel="noopener noreferrer" class="footer__link-item">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li></ul></div></div></div></footer></div>
<script src="/ransack/assets/js/runtime~main.ea950ceb.js"></script>
<script src="/ransack/assets/js/main.deaad47f.js"></script>
(source code <a href="https://github.com/activerecord-hackery/ransack_demo" target="_blank" rel="noopener noreferrer">here</a>).</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/activerecord-hackery/ransack/edit/main/docs/docs/getting-started/advanced-mode.md" target="_blank" rel="noreferrer noopener" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_dcUD" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_foO9"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages navigation"><div class="pagination-nav__item"><a class="pagination-nav__link" href="/ransack/getting-started/simple-mode"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Simple mode</div></a></div><div class="pagination-nav__item pagination-nav__item--next"><a class="pagination-nav__link" href="/ransack/getting-started/configuration"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Configuration</div></a></div></nav></div></div><div class="col col--3"><div class="tableOfContents_cNA8 thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#tweak-your-routes" class="table-of-contents__link toc-highlight">Tweak your routes</a></li><li><a href="#add-a-controller-action" class="table-of-contents__link toc-highlight">Add a controller action</a></li><li><a href="#update-your-form" class="table-of-contents__link toc-highlight">Update your form</a></li></ul></div></div></div></div></main></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="row footer__links"><div class="col footer__col"><div class="footer__title">Docs</div><ul class="footer__items"><li class="footer__item"><a class="footer__link-item" href="/ransack/">Documentation</a></li></ul></div><div class="col footer__col"><div class="footer__title">Community</div><ul class="footer__items"><li class="footer__item"><a href="https://stackoverflow.com/questions/tagged/ransack" target="_blank" rel="noopener noreferrer" class="footer__link-item">Stack Overflow<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li></ul></div><div class="col footer__col"><div class="footer__title">More</div><ul class="footer__items"><li class="footer__item"><a class="footer__link-item" href="/ransack/blog">Blog</a></li><li class="footer__item"><a href="https://github.com/activerecord-hackery/ransack" target="_blank" rel="noopener noreferrer" class="footer__link-item">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li></ul></div></div></div></footer></div>
<script src="/ransack/assets/js/runtime~main.57a46884.js"></script>
<script src="/ransack/assets/js/main.639c7d33.js"></script>
</body>
</html>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long