Tôi đã sau con rối ví dụ mẫu:rối mẫu loại bỏ các dấu phẩy cuối cùng
{
"servers" : [ {
"port" : 9200,
"host" : "localhost",
"queries" : [
<% @markets.each do |market| -%>
{
"outputWriters" : [ { "@class" : "com.googlecode.jmxtrans.model.output.StdOutWriter" } ],
"obj" : "solr/market_<%= market %>:type=queryResultCache,id=org.apache.solr.search.LRUCache",
"attr" : [ "hits","hitratio" ]
},
<% end -%>
],
"numQueryThreads" : 2
} ],
}
Áp dụng nó với thị trường = [ 'Anh', 'FR', 'IT'], tôi nhận được như sau:
{
"servers" : [ {
"port" : 9200,
"host" : "localhost",
"queries" : [
{
"outputWriters" : [ { "@class" : "com.googlecode.jmxtrans.model.output.StdOutWriter" } ],
"obj" : "solr/market_UK:type=queryResultCache,id=org.apache.solr.search.LRUCache",
"attr" : [ "hits","hitratio" ]
},
{
"outputWriters" : [ { "@class" : "com.googlecode.jmxtrans.model.output.StdOutWriter" } ],
"obj" : "solr/market_FR:type=queryResultCache,id=org.apache.solr.search.LRUCache",
"attr" : [ "hits","hitratio" ]
},
{
"outputWriters" : [ { "@class" : "com.googlecode.jmxtrans.model.output.StdOutWriter" } ],
"obj" : "solr/market_IT:type=queryResultCache,id=org.apache.solr.search.LRUCache",
"attr" : [ "hits","hitratio" ]
},
],
"numQueryThreads" : 2
} ],
}
Vấn đề là dấu phẩy cuối cùng, làm cho nó trở thành cấu hình solr không hợp lệ.
Thay vì áp dụng market.each, tôi có thể sử dụng market.map và join (','). nhưng cách sử dụng bản đồ trong trường hợp này?
tôi có thể sử dụng bản đồ như sau:
<%= @markets.map{ |market| "hello_"+market }.join(',') -%>
này sẽ in hello_UK,hello_FR,hello_IT
(lưu ý rằng chúng tôi không có một dấu phẩy sau hello_IT), nhưng tôi sẽ cần một cái gì đó như thế này:
{
"servers" : [ {
"port" : 9200,
"host" : "localhost",
"queries" : [
<% @markets.map |market| -%>
{
"outputWriters" : [ { "@class" : "com.googlecode.jmxtrans.model.output.StdOutWriter" } ],
"obj" : "solr/market_<%= market %>:type=queryResultCache,id=org.apache.solr.search.LRUCache",
"attr" : [ "hits","hitratio" ]
},
<% }.join(',') -%>
],
"numQueryThreads" : 2
} ],
}
tính năng này không hoạt động.
vậy, cách làm cho nó hoạt động? hoặc cách sửa đổi mẫu con rối của tôi để xóa dấu phẩy cuối cùng?
Bí quyết cũ là bao gồm mục nhập giả cố định sau danh sách không phá vỡ bất kỳ thứ gì. Có lẽ đó là một lựa chọn. – Thilo
Tôi muốn sử dụng [jbuilder] (https://github.com/rails/jbuilder) – Stefan
@Stefan, làm cách nào bạn cắm jbuilder cho một mẫu con rối? –