Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/56.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_Activerecord - Fatal编程技术网

Ruby on rails 从活动记录中删除括号和引号

Ruby on rails 从活动记录中删除括号和引号,ruby-on-rails,ruby,activerecord,Ruby On Rails,Ruby,Activerecord,当用户将数据库中的数据拉到屏幕上时,所有这些都工作得很好,但看起来很自然,因为它包含括号等,如下所示 [["100056", "lion bar"]] [["100055", "milky way"]] [["100054", "mars bar"]] 这是我的控制器代码 @last_posts = Post.order('created_at DESC').limit(1).pluck(:big_id, :customer) 目前我的看法只是这样 <%= @last_posts %&

当用户将数据库中的数据拉到屏幕上时,所有这些都工作得很好,但看起来很自然,因为它包含括号等,如下所示

[["100056", "lion bar"]]
[["100055", "milky way"]]
[["100054", "mars bar"]]
这是我的控制器代码

@last_posts = Post.order('created_at DESC').limit(1).pluck(:big_id, :customer)
目前我的看法只是这样

<%= @last_posts %><br>  
<%= @last_posts_but1 %><br>
<%= @last_posts_but2 %><br>
<%= @last_posts_but3 %><br>
<%= @last_posts_but4 %><br>
<%= @last_posts_but5 %><br>







总结上述评论:


正如您所看到的,当您使用limit限制为1时,您正在尝试检索big_id和customer。类似于
选择big_id,customer from posts
,它返回一个数组

Pulk直接将数据库结果转换为数组,而无需构造活动记录对象

您可以通过@last_posts.first访问属性,该属性提供[“100056”,“lion bar”]


总结上述意见:


正如您所看到的,当您使用limit限制为1时,您正在尝试检索big_id和customer。类似于
选择big_id,customer from posts
,它返回一个数组

Pulk直接将数据库结果转换为数组,而无需构造活动记录对象

您可以通过@last_posts.first访问属性,该属性提供[“100056”,“lion bar”]

将返回您要查找的内容<代码>展平去除嵌套数组
first
也可以工作,但您知道您的查询将只返回一条记录。对于边缘情况,在
flant
之后不必执行nil检查,因为在空数组上调用它会返回空数组

另外,
select
方法将返回一个活动记录对象数组,这些对象只填充了
big_id
customer
属性,而不是数组数组

注意:。如果您希望将限制更改为大于1的任何值,
flatte
将不起作用

将返回您要查找的内容<代码>展平去除嵌套数组
first
也可以工作,但您知道您的查询将只返回一条记录。对于边缘情况,在
flant
之后不必执行nil检查,因为在空数组上调用它会返回空数组

另外,
select
方法将返回一个活动记录对象数组,这些对象只填充了
big_id
customer
属性,而不是数组数组



注意:。如果您希望将限制更改为大于1的任何值,
flatte
将不起作用。

我想您将收到一个数组作为响应返回。你能在这里发布你的activerecord查询吗?正如你所看到的,当你使用limit限制为1时,你正在尝试检索big_id和customer。类似于
选择big_id,customer from posts
,它返回一个数组。Pulk直接将数据库结果转换为数组,而无需构造活动记录对象。您可以通过@last_posts.first访问属性,这会给出[“100056”,“lion bar”]我不确定我是否完全理解,我希望它只是说100056 lion barThen通过索引访问返回数组的各个组件。您可以执行@last_posts.map(:&first)或@last_posts.map{| row | row0}我想你会得到一个数组的响应。你能在这里发布你的activerecord查询吗?正如你所看到的,当你使用limit限制为1时,你正在尝试检索big_id和customer。类似于
选择big_id,customer from posts
,它返回一个数组。Pulk直接将数据库结果转换为数组,而无需构造活动记录对象。您可以通过@last_posts.first访问属性,这会给出[“100056”,“lion bar”]我不确定我是否完全理解,我想说100056 lion barThen通过索引访问返回数组的各个组件。您可以执行@last_posts.map(:&first)或@last_posts.map{row | row0 |}这只会删除结束括号吗?理想情况下,我希望去掉所有括号和引号。i、 e 100056 lion Bari我不知道你去掉括号和引号是什么意思。我可以看到您正在数据库中以字符串形式存储数据100056。您应该根据您的请求将第一个更改为整数或浮点。ruby/rails中的字符串默认为“”。您是否有特定的理由删除方括号和引号?因此它只显示100056 lion bar而不是[“100056”,“lion bar”]删除它们的原因是,当它显示在html页面中时,它看起来很糟糕。我习惯于显示数组元素,但我从未遇到“”出现在那里。。你能发布你的查看代码吗。你是在使用puts还是什么..ok@last_posts[0]会删除引号和括号。。所以看起来好多了,除了去掉了巧克力的名字外,还显示了100056--我从来没有这么接近过。这只会去掉端部的括号吗?理想情况下,我希望去掉所有括号和引号。i、 e 100056 lion Bari我不知道你去掉括号和引号是什么意思。我可以看到您正在数据库中以字符串形式存储数据100056。您应该根据您的请求将第一个更改为整数或浮点。ruby/rails中的字符串默认为“”。您是否有特定的理由删除方括号和引号?因此它只显示100056 lion bar而不是[“100056”,“lion bar”]删除它们的原因是,当它显示在html页面中时,它看起来很糟糕。我习惯于显示数组元素,但我从未遇到“”出现在那里。。你能发布你的查看代码吗。你是在使用puts还是什么..ok@last_posts[0]会删除引号和括号。。所以看起来好多了,除了它去除了巧克力的名字,所以也显示了100056--我从来没有这么接近过。好吧,我不确定我是否完全理解这一点。这应该放在控制器中吗?因为您没有发布视图,所以很难知道需要在控制器中进行哪些更改。如果你加上
result = [[["100056", "lion bar"]],
         [["100055", "milky way"]],
         [["100054", "mars bar"]]]

puts result.map { |x| x.flatten.join(' ') }
# => 100056 lion bar
# => 100055 milky way
# => 100054 mars bar
@last_posts.map(:&first) or @last_posts.map{|row| |row0|} 
Post.order('created_at DESC').limit(1).pluck(:big_id, :customer).flatten