저는 backbone.js와 Lithium을 사용하고 있습니다. 페이지에서 숨겨진 매개 변수로받은 _id를 전달하여 서버에서 모델을 가져 왔습니다.백본 모델이 리튬 컨트롤러에서 가져온 모델이 제대로로드되지 않았습니다. 모델
MongoDB를 올바르게 데이터를 저장하고 같은 콘솔에서 볼 수 있습니다 데이터베이스 :
{ "_id" : ObjectId("50bb82694fbe3de417000001"), "holiday_name" : "SHREE15", "description": "", "star_rating" : "3", "holiday_type" : "family", "rooms" : "1", "adults" : "2", "child" :"0", "emails" : "" }
리튬 모델 클래스는 이렇게이다 :
class Holidays extends \lithium\data\Model {
public $validates = array(
'holiday_name' => array(
array(
'notEmpty',
'required' => true,
'message' => 'Please key-in a holiday name! (eg. Family trip for summer holidays)'
))); }
백본 휴일 모델은 너무하다 :
window.app.IHoliday = Backbone.Model.extend({
urlRoot: HOLIDAY_URL,
idAttribute: "_id",
id: "_id",
// Default attributes for the holiday.
defaults: {
},
// Ensure that each todo created has `title`.
initialize: function(props) {
},
백본/가져 오기 코드는 다음과 같습니다.
var Holiday = new window.app.IHoliday({ _id: holiday_id });
Holiday.fetch(
{
success: function(){
alert('Holiday fetched:' + JSON.stringify(Holiday));
console.log('HOLIDAY Fetched: \n' + JSON.stringify(Holiday));
console.log('Holiday name:' + Holiday.get('holiday_name'));
}
}
);
리튬 컨트롤러 코드는 다음과 같습니다
public function load($holiday_id)
{
$Holiday = Holidays::find($holiday_id);
return compact('Holiday');
}
문제 : 서버에서 가져온 백본 모델의 출력은 다음과 같습니다과 휴일 모델이 제대로 데이터 백본 모델로 반환 할 때 '형성'되지 않습니다 : 데이터/통과 리튬 번역 및 백본 휴일 모델로 모델로 업로드 할 때
HOLIDAY Fetched:
{"_id":"50bb82694fbe3de417000001","Holiday":{"_id":"50bb82694fbe3de417000001","holiday_name":"SHREE15","description":"","star_rating":"3","holiday_type":"family","rooms":"1","adults":"2","child":"0","emails":""}}
iplann...view.js (line 68)
Holiday name:undefined
는 분명히 몇 가지 문제가 있습니다. 내 코드에서 뭔가 명백하게 잘못 되었나요?
감사합니다. @rmarscher! 그것은 완벽하게 작동합니다. –