在Ruby on Rails中,我试图从rails中的user_id和id列获取值。现在我使用以下代码连接两列firstname和lastname
@profiles = Profile.all.map{|p| "#{p.users_firstname} #{p.users_lastname}"}
相反,我必须将列添加为两个条目。请帮忙。提前致谢
更新
我想得到像这样的值
@profile = [' user1_firstname',' user1_lastname',' user2_firstname',' user2_lastname',....]
答案 0 :(得分:1)
您当前的代码会产生如下内容:
@profiles = [ 'Edie Pineo', 'Tierra Cardiel', 'Sparkle Berrey' ]
你在问:
相反,我必须将列添加为两个条目
所以,如果我正确地得到了你想要的东西,比如:
@profiles = [ ['Edie', 'Pineo'], ['Tierra', 'Cardiel'], ['Sparkle', 'Berrey'] ]
...这是一个字符串数组,而不是您当前的代码,它是一个字符串数组。
如果是这样,以下是一个解决方案:
@profiles = Profile.all.map{|p| [p.users_firstname, p.users_lastname] }
@profiles = Profile.pluck(:users_firstname, :users_lastname).uniq
@profiles = Profile.pluck(:users_firstname, :users_lastname).map{|array| array.map(&:strip) }.uniq
# if you want string values
@profiles = Profile.pluck(:users_firstname, :users_lastname).map{|array| array.map(&:to_s) }.uniq
# if you want integer values
@profiles = Profile.pluck(:users_firstname, :users_lastname).map{|array| array.map(&:to_i) }.uniq
...继续我们的discussion并回答更新问题
@profiles = Profile.pluck(:users_firstname, :users_lastname).flatten
- 经过测试的工作
答案 1 :(得分:1)
假设import {Component} from "@angular/core";
import { Router, NavigationStart } from "@angular/router";
import {ActionService} from "../../../services/application/action.service";
@Component({
selector: 'app-action-bar',
templateUrl: './action-bar.component.html',
styleUrls: ['./action-bar.component.scss']
})
export class ActionBarComponent {
private links = [];
constructor(private actionService: ActionService, private router: Router) {
this.router.events.subscribe((evt) => {
if (evt instanceof NavigationStart) {
this.links = [];
}
});
this.actionService.getLinks().subscribe(link => {
this.links.push(link);
});
}
}
和users_firstname
是users_lastname
的属性,您可以完全跳过地图:
Profile
答案 2 :(得分:1)
我认为你想使用pluck。下面将返回一个数组数组,每个嵌套数组包含firstname和lastname。
Profile.pluck(:users_firstname, :users_lastname)
如果您的问题的标题显示为“哈希”,则可以将其转换为to_h
的哈希值。从您的问题中不清楚您希望如何格式化哈希
答案 3 :(得分:0)
这是你在找什么?
@profiles = Profile.all.select(:users_firstname, :users_lastname).to_a