2012-02-01 67 views
-1

我試圖Ember.js(以前SproutCore)。如何在API調用後更改視圖?Ember.js不同的意見,如果登錄

App.userController = Ember.ArrayController.create({ 
    loadUser: function() { 
     var self = this; 
     $.post("/api/user/auth/", {user:'user',password:'pass'},function(user,code){ 
      if (code == 'success') { 
       App.User.create(user); 
      } 
     }); 
    } 
}); 
App.userController.loadUser(); 

我的觀點:

<script type='text/x-handlebars'> 
    <div class='span10'> 
     {{#if App.user }} 
      <h1>User</h1> 
     {{else}} 
      <h1>no User </h1> 
     {{/if}} 
    </div> 
</script> 

它將運行#if App.user之前,我從灰燼碼的響應。如果我從通話中獲得用戶,我可以以某種方式更改視圖嗎?

+1

如果您可以請提供一個jsFiddle與你的問題,我會很樂意爲你看看它。你可以[使用這個jsFiddle](http://jsfiddle.net/ud3323/8Z2Fc/)作爲起點。 – 2012-02-12 07:08:28

回答

-3

添加到您的ApplicationController:

layout :layout_switcher 

private 

def layout_switcher 
    user_signed_in? ? 'application' : 'logged_out' 
end 
+0

嗯,一個JavaScript問題的紅寶石答案? – Blacktiger 2012-02-02 19:00:34

0

我不知道如果我有你的問題足夠的細節,但我認爲你想做的事是這樣的:

if (code == 'success') { 
    App.user = App.User.create(user); 
}