回答編集履歴

1

追記

2016/10/18 14:50

投稿

cameluby
cameluby

スコア891

test CHANGED
@@ -1,4 +1,56 @@
1
+ 簡単な処理の流れを説明すると、以下のようになると思います
2
+
3
+ ```erb
4
+
5
+ # view
6
+
7
+ <%= text_field_tag :search, params[:search] %>
8
+
9
+ ```
10
+
11
+ に入力した検索ワードの値を
12
+
13
+ ```erb
14
+
15
+ # view
16
+
17
+ <%= form_tag projects_path, :method => 'get' do %>
18
+
19
+ ```
20
+
21
+ の`projects_path`(projects_controllerのindexアクション)に飛ばす。
22
+
23
+
24
+
25
+ ```ruby
26
+
27
+ # app/controllers/projects_controller.rb
28
+
29
+ @projects = Project.search(params[:search])
30
+
31
+ ```
32
+
33
+ projects_controllerのindexアクションで先程入力した検索ワードを`params[:search]`として取得し、
34
+
35
+ `Project`モデルのデータを取得する。
36
+
37
+
38
+
39
+ ```ruby
40
+
41
+ # app/models/project.rb
42
+
43
+ Project.where(['name LIKE ?', "%#{search}%"])
44
+
45
+ ```
46
+
47
+ モデルではコントローラーから渡された検索ワードを用いでレコードを取得する。
48
+
49
+
50
+
51
+
52
+
1
- LIKEは「あいまい検索」です。
53
+ ちなみにLIKEは「あいまい検索」です。
2
54
 
3
55
  ```ruby
4
56