Mam następujący lalkowy przykładowy szablon:lalek szablon usunąć ostatni przecinek
{
"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
} ],
}
stosowania go z rynku = [ 'UK', 'FR', 'IT'], pojawia się następujący:
{
"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
} ],
}
Problem jest ostatnim przecinkiem, który powoduje, że jest to niepoprawna konfiguracja Solr.
Zamiast stosować markets.each zrobić, mógłbym użyć market.map i join (","). , ale jak korzystać z mapy w tym przypadku?
mogę używać mapę następująco:
<%= @markets.map{ |market| "hello_"+market }.join(',') -%>
byłoby wydrukować hello_UK,hello_FR,hello_IT
(zauważ, że nie mamy przecinek po hello_IT), ale muszę coś takiego:
{
"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
} ],
}
to nie działa.
, więc jak to działa? lub jak zmodyfikować mój szablon lalek, aby usunąć ostatni przecinek?
Stara sztuczka polega na dodaniu do listy wpisu ze ślepym manekinem, który niczego nie niszczy. Może to opcja. – Thilo
Użyłbym [jbuilder] (https://github.com/rails/jbuilder) – Stefan
@Stefan, w jaki sposób podłączasz jbuilder do szablonu lalkowego? –