Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 列出具有不同元素数的数组_Ruby On Rails_Ruby - Fatal编程技术网

Ruby on rails 列出具有不同元素数的数组

Ruby on rails 列出具有不同元素数的数组,ruby-on-rails,ruby,Ruby On Rails,Ruby,在我的Rails应用程序中关联模型的方式,如果我尝试列出用户拥有的许可证,代码如下 Licensed in <%= answer.user.licenses.map(&:state) %> Licensed in ["New York"] <%= answer.user.licenses.map(&:state)[0] %> 因为它是一个数组,我可以像这样删除数组括号 Licensed in <%= answer.user.licenses.

在我的Rails应用程序中关联模型的方式,如果我尝试列出用户拥有的许可证,代码如下

Licensed in <%= answer.user.licenses.map(&:state) %>
Licensed in ["New York"] 
<%= answer.user.licenses.map(&:state)[0] %>
因为它是一个数组,我可以像这样删除数组括号

Licensed in <%= answer.user.licenses.map(&:state) %>
Licensed in ["New York"] 
<%= answer.user.licenses.map(&:state)[0] %>
但是,如果一个用户可能有多个许可证,这不是一个好的解决方案,因为每个许可证都应该列出

所以我试过这个

   <% answer.user.licenses.map(&:state).each do |state| %>
    <%= state %>
   <% end %>
但是,这不会在许可证之间添加智能逗号,智能意味着在必要时添加注释,但不会在末尾添加注释

在这种情况下,代码应该是什么样子才能实现我想要做的。我不确定我应该用谷歌搜索哪些关键词来解决这个问题

试试这个

answer.user.licenses.map(&:state).join(',')

这将在数组的每个元素之间添加。在Rails中,您可以使用to_语句。这将在所有元素之间放置一个,并将单词放置在倒数第二和倒数第二个单词之间。

我每天都用rails学习新东西,这真是太神奇了,很棒的方法!ActiveSupport core extensions充满了各种各样的好东西,让生活变得更轻松。你可以在网站上找到一堆。我最喜欢的是日期扩展,比如2.hours.from_now,棒极了。令人遗憾的是离题了,但是看看这个长期的宝石吧。它允许您使用自然语言执行计算。例如,Chronic.parse'nexturday'将提供下周四的日期时间。它很光滑。