1
geddy 모델에서 임시 필드/가상 필드를 정의 할 수 있습니까?Geddy 모델에서 가상 필드를 정의하는 방법이 있습니까?
입력란 tmpFirstName
및 tmpLastName
을 사용하는 것과 같지만 제출할 때 정보를 단일 열 name
에 저장하려고합니다.
감사
geddy 모델에서 임시 필드/가상 필드를 정의 할 수 있습니까?Geddy 모델에서 가상 필드를 정의하는 방법이 있습니까?
입력란 tmpFirstName
및 tmpLastName
을 사용하는 것과 같지만 제출할 때 정보를 단일 열 name
에 저장하려고합니다.
감사
이것은 하찮게 새로운 라이프 사이클 방법으로 달성 할 수있다 (당신에게 감사합니다!). 컨트롤러에서
:
this.create = function (req, resp, params) {
var self = this
, person = geddy.model.Person.create(params);
person.firstname = params.firstname;
person.lastname = params.lastname;
if (!person.isValid()) {
this.respondWith(person);
}
else {
person.save(function(err, data) {
if (err) {
throw err;
}
self.respondWith(person, {status: err});
});
}
};
모델에서 : 당신은 "가상"속성을 선언하지
this.defineProperties({
name: {type: 'string'}
});
this.beforeSave = function() {
this.name = this.firstname + ' ' + this.lastname;
}
주, 그렇지 않으면 geddy 그들은 데이터베이스에 저장합니다.
감사합니다. Ben, 그래서 지금 우리는 레일스가'attr_accessor'에서하고있는 것처럼 모델 안에 선언 할 수 없으므로'.create (params)'를 호출 한 후에 하나씩 정의하는 대신'.create()'? – ginad
나는 그 코드를 일찍 시도했는데 (가상) 속성이'.create'로 설정되지 않은 이유를 알아 내지 못했습니다. 이게 이상하다는 말이 맞아. 나는 우리의 geddy-passport 코드를 보았고,'confirmPassword'는 가상 속성으로 잘 작동하는 것 같습니다. 문제를 제기하고 진행 상황을 살펴 봅니다. – Ben
그렇습니다. 왜냐하면 geddy는 validates를 가지고 있기 때문에 궁금합니다. 확인 .'create'가 가상 속성을 읽지 않는다면 어떻게 사용하는지 궁금합니다. 다시 한번 감사드립니다. – ginad