質問編集履歴
2
検索機能部分のview、コントローラーを追記致しました。
test
CHANGED
File without changes
|
test
CHANGED
@@ -77,3 +77,61 @@
|
|
77
77
|
66,67行目に関してransackを使用すると、`name`は問題なく検索が行われ、`description`に関してはうまく検索が行われません。
|
78
78
|
|
79
79
|
お手数ですが確認お願い致します。
|
80
|
+
|
81
|
+
|
82
|
+
|
83
|
+
```erb
|
84
|
+
|
85
|
+
<li class="dropdown searchBox">
|
86
|
+
|
87
|
+
<%= link_to "javascript:void(0)", class: "dropdown-toggle", 'data-toggle': :dropdown do %>
|
88
|
+
|
89
|
+
<i class="fa fa-search"></i>
|
90
|
+
|
91
|
+
<% end %>
|
92
|
+
|
93
|
+
<ul class="dropdown-menu dropdown-menu-right">
|
94
|
+
|
95
|
+
<%= form_with url: potepan_products_search_path, id: "form01", method: :get, local: true do |form| %>
|
96
|
+
|
97
|
+
<li>
|
98
|
+
|
99
|
+
<span class="input-group">
|
100
|
+
|
101
|
+
<%= form.text_field "searchWord", class: "form-control", placeholder: "Search…", 'aria-describedby': "basic-addon2" %>
|
102
|
+
|
103
|
+
<span type="btn" class="input-group-addon addPointer" id="basic-addon2">検索 </span>
|
104
|
+
|
105
|
+
</span>
|
106
|
+
|
107
|
+
</li>
|
108
|
+
|
109
|
+
<% end %>
|
110
|
+
|
111
|
+
</ul>
|
112
|
+
|
113
|
+
</li>
|
114
|
+
|
115
|
+
|
116
|
+
|
117
|
+
```
|
118
|
+
|
119
|
+
|
120
|
+
|
121
|
+
```controller
|
122
|
+
|
123
|
+
def search
|
124
|
+
|
125
|
+
@searchWord = params[:searchWord]
|
126
|
+
|
127
|
+
searched_products = Spree::Product.ransack(description_cont: params[:searchWord]).result.includes(variants_including_master: %i[images prices])
|
128
|
+
|
129
|
+
@products = searched_products
|
130
|
+
|
131
|
+
end
|
132
|
+
|
133
|
+
```
|
134
|
+
|
135
|
+
|
136
|
+
|
137
|
+
ちなみにコントローラーの`description_cont`を`name_cont`とした場合には正常な動作を確認しております。合わせて確認いただけたらと幸いです。
|
1
内容を追記いたしました。
test
CHANGED
File without changes
|
test
CHANGED
@@ -33,3 +33,47 @@
|
|
33
33
|
`text`型だと特別な手順が必要なのでしょうか?
|
34
34
|
|
35
35
|
参照記事やアドバイスなど頂けたらと思います。
|
36
|
+
|
37
|
+
|
38
|
+
|
39
|
+
---追記------------------------------------------↓
|
40
|
+
|
41
|
+
わかりにくくてすみません。
|
42
|
+
|
43
|
+
検索条件がうまく渡されないのを改善したいと考えております。
|
44
|
+
|
45
|
+
|
46
|
+
|
47
|
+
```
|
48
|
+
|
49
|
+
[65] pry(main)> Spree::Product.where("description LIKE ?", "%BBB%")
|
50
|
+
|
51
|
+
=> Spree::Product Load (1.2ms) SELECT `spree_products`.* FROM `spree_products` WHERE `spree_products`.`deleted_at` IS NULL AND (description LIKE '%BBB%')
|
52
|
+
|
53
|
+
[]
|
54
|
+
|
55
|
+
[66] pry(main)> Spree::Product.where("name LIKE ?", "%BBB%")
|
56
|
+
|
57
|
+
=> Spree::Product Load (1.8ms) SELECT `spree_products`.* FROM `spree_products` WHERE `spree_products`.`deleted_at` IS NULL AND (name LIKE '%BBB%')
|
58
|
+
|
59
|
+
[]
|
60
|
+
|
61
|
+
[67] pry(main)> Spree::Product.ransack(name_cont: "AAA").result
|
62
|
+
|
63
|
+
=> Spree::Product Load (1.2ms) SELECT `spree_products`.* FROM `spree_products` WHERE `spree_products`.`deleted_at` IS NULL AND `spree_products`.`name` LIKE '%AAA%'
|
64
|
+
|
65
|
+
[]
|
66
|
+
|
67
|
+
[68] pry(main)> Spree::Product.ransack(description_cont: "AAA").result
|
68
|
+
|
69
|
+
=> Spree::Product Load (3.2ms) SELECT `spree_products`.* FROM `spree_products` WHERE `spree_products`.`deleted_at` IS NULL
|
70
|
+
|
71
|
+
```
|
72
|
+
|
73
|
+
|
74
|
+
|
75
|
+
65,66行目に関しては直接`LIKE`検索をすると正常に検索が行われるのですが、
|
76
|
+
|
77
|
+
66,67行目に関してransackを使用すると、`name`は問題なく検索が行われ、`description`に関してはうまく検索が行われません。
|
78
|
+
|
79
|
+
お手数ですが確認お願い致します。
|