我正在尝试将字符串转换为数组。我正在使用的方法似乎正在工作但是当我用pry检查它仍然是一个字符串。让我告诉你我的方法和输出,看看你能告诉我什么是错的。谢谢。
def filters=(filters)
if filters.is_a?(String)
filters = filters.split(",")
end
list = Set.new
Array.wrap(filters).each do |filter|
filter.tr!(",", " ")
filter.strip!
list << filter unless filter == ""
end
super(list.to_a)
end
在我放置hey, ohh
<%= form_for @integrations, url: url_for(:controller => :integrations, :action => :update, :id => @integrations.id) do |f| %>
<%= f.label :filters %>
<%= f.text_field :filters, class: "filter-autocomplete" %>
<%= f.submit "Save" %>
<% end %>
def update
@integrations = current_account.integrations.find(params[:id])
if @integrations.update_attributes(update_params)
flash[:success] = "Filters added"
redirect_to account_integrations_path
else
render :filters
end
end
def filters
@integrations = current_account.integrations.find(params[:id])
end
如果你把一个撬放在它的末尾,它似乎已经转换为一个数组。但当我检查对象时,它仍然是一个字符串。
当我现在在控制台中查看我的过滤器时,它们看起来像这样
"[\"Hey\", \"ohh\"]"
当我希望它看起来像:
["Hey", "ohh"]