より大きなメソッドがあり、その一部を使用して配列値を取得し、それらをリンクに挿入します。このメソッドを使用して、カスタマイズしているアプリのメタデータにリンクされたフィールドを生成しています。完全な方法は次のとおりです。
def get_facet_from_datastream(resource, datastream_name, field_key, opts={})
if opts.has_key?(:values)
values = opts[:values]
if values.nil? then values = [opts.fetch(:default, "")] end
else
values = resource.get_values_from_datastream(datastream_name, field_key, opts.fetch(:default, ""))
if values.empty? then values = [ opts.fetch(:default, "") ] end
end
facet = field_key.to_a.join("_") + "_facet"
values.each do |v|
searchv = v.to_s.gsub(/ /, "+")
link = "<a href=\"http://development4/lcdl/catalog?f[#{facet}][]=#{searchv}\">#{v}</a>"
return link.html_safe
end
end
values.each do
「 」セクションで問題が発生しています。リンクを返すことは、配列の最初の値で機能しますが、それで停止します。私が理想的に望んでいるのは、各リンクの後に改行が続くことですが、私は明らかに構文を混乱させています。
これが理にかなっていることを願っています。