【发布时间】:2018-01-17 17:14:21
【问题描述】:
您好,我是 Ror 和 Js 的新手, 我想在我的应用程序上安装 algolia Instantsearch,我的产品出现在 algolia 索引上,但我无法成功在我的 html 页面(产品索引)上显示我的 Instantsearch 和结果 如果有人可以帮助我,那就太好了:-) 提前考虑
这是我的代码:
我包含的布局:
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/instantsearch.js@2.3/dist/instantsearch.min.css">
product.rb(型号):
include AlgoliaSearch
algoliasearch if: :active? do
attribute :name, :brand, :category, :color, :size, :price
end
search.html.erb:
<div>
<input id="search-input" placeholder="Search for products">
<!-- We use a specific placeholder in the input to guides users in their search. -->
</div>
</header>
<main>
<div id="hits"></div>
<div id="pagination"></div>
</main>
<script src="https://cdn.jsdelivr.net/npm/instantsearch.js@2.3/dist/instantsearch.min.js"></script>
<script src="app.js"></script>
<script type="text/html" id="hit-template">
<div class="hit">
<div class="hit-image">
<img src="{{image}}" alt="{{name}}">
</div>
<div class="hit-content">
<h3 class="hit-price">${{price}}</h3>
<h2 class="hit-name">{{{_highlightResult.name.value}}}</h2>
<p class="hit-description">{{{_highlightResult.description.value}}}</p>
</div>
</div>
</script>
app.js:
var search = instantsearch({
// Replace with your own values
appId: "012967GRTQ",
apiKey: "a3f100606d982f64d7c25410c672f5f5", // search only API key, no ADMIN key
indexName: 'Product',
urlSync: true,
searchParameters: {
hitsPerPage: 10
}
});
search.addWidget(
instantsearch.widgets.searchBox({
container: '#search-input'
})
);
search.addWidget(
instantsearch.widgets.hits({
container: '#hits',
templates: {
item: document.getElementById('hit-template').innerHTML,
empty: "We didn't find any results for the search <em>\"{{query}}\"</em>"
}
})
);
search.addWidget(
instantsearch.widgets.pagination({
container: '#pagination'
})
);
search.start();
config/initializers/algoliasearch.rb
require 'rubygems'
require 'algoliasearch'
Algolia.init application_id: "XXXXXX",
api_key: "xxxxxxxxxxxx"
index = Algolia::Index.new("Product")
我从以下位置导入了 css: .....github.com/algolia/examples/blob/master/instant-search/instantsearch.js/assets/style.css.....
【问题讨论】:
-
嘿!您是否在浏览器控制台中看到任何错误,并且您确定 app.js 实际已加载到页面中?
-
嗨 Haroen,我遇到以下错误:加载资源失败:服务器响应状态为 404(未找到)
-
哪个资源?确保 app.js 的链接正确
-
我在下一个答案中添加了它..sorry
标签: javascript css ruby-on-rails algolia