gpt4 book ai didi

ruby - 导轨 : CSV Array to string (convert)

转载 作者:太空宇宙 更新时间:2023-11-03 16:06:17 25 4
gpt4 key购买 nike

我是 Rails 的新手,我想导出一个字典(字符串)。目前我正在使用这段代码

    Competency.order(:competencies).map(&:competencies).uniq!.join(", ")

生成:

   Build a cage!, Build tha pizza, Demonstrated ability in flying, Demonstrated ability in pizza baking

我想将其导出到 csv,但问题是它是一个数组。我想创建单独的字符串(逗号分隔)并将每个字符串显示在不同的行上。当前,将其导出到 csv 时,所有内容都显示在一行中。

任何线索如何做到这一点?我创建了一个数据数组,因为有很多重复数据,这段代码正在过滤掉所有重复数据。

在我的 Controller 中:

   format.csv { render Competency.order(:competencies).map(&:competencies).uniq!.join(", ") }

我希望有人能帮助我,非常感谢。

编辑:

理想情况下,我想获取所有能力并获得没有重复的输出,这是我的 Controller :

    def dictionary
@competencies = Competency.all

respond_to do |format|
format.html { render html: positions_dictionary_path }
format.csv { render Competency.order(:competencies).map(&:competencies).uniq!.join(", ") }
format.xls { send_data Competency.order(:competencies).map(&:competencies).uniq!.join(", ") }

end
end

通常在 View 文件中你会这样做:

      <div>
<% @posts.each do |competency| %>
<%= competency.competencies %>
<% end %>
</div>

这会生成所有能力的列表,但也会生成重复项。我的解决方案是创建一个数组。然而,这在导出到 csv 时会产生问题(因为我需要在不同的行/行上输出每个输出。所以我的问题是,如何生成所有“能力”的列表而不重复?

最佳答案

行不会以逗号分隔。它们可能是新线路终止的。如果你想把它们放在不同的行上,你应该尝试用新行而不是逗号连接它们。

关于ruby - 导轨 : CSV Array to string (convert),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13203470/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com