2013-06-21 25 views
0

请求如何张贴到轨服务器的请求时,点击“查询”按钮emberjs +轨道,如何指定路线,并发布到轨服务器

轨道路线

resources :sentences do 
    member do 
    get :check 
    end 
end 

轨句子控制器

class SentencesController < ApplicationController 

    def check 
    render json: false 
    end 

end 

emberjs路线

App.Router.map -> 
    @resource "sentences", -> 
    @resource "sentence", 
     path: ":sentence_id", -> 
     @route "check" 

emberjs模板

<script type="text/x-handlebars" id="sentence"> 

    <button {{action 'check'}} class='btn'>Check</button> 

</script> 

回答

0

我觉得你要做的是违背约定。

下面是应该的,这是由你只是在你的模型更新“检查”变量(纠正我,如果我错了)的前提下去。

在余烬方面:

路由器:

App.Router.map(function() { 
    this.resource('sentences', function() { 
    this.resource('sentence', {path: ':sentence_id'}); 
    }); 
}); 

的控制器

App.SentenceController = Ember.ObjectController.extend({ 
    check: function() { 
    var sentence = this.get('model'); 
    sentence.set('check', true); 
    sentence.get('store').commit(); 
    } 
}); 

模板:

<script type="text/x-handlebars" id="sentence"> 
    <button {{action 'check' on="click"}} class='btn'>Check</button> 
</script> 

然后在铁轨边,你可以得到摆脱从路线和控制器,只是检查行动使用默认的端点(在这种情况下,当你的从灰烬应用程序提交它会把更改使用sentences#update/sentences/:id/update.json您的Rails应用程序)。