单击“检查”按钮
时如何向rails服务器发送请求resources :sentences do
member do
get :check
end
end
class SentencesController < ApplicationController
def check
render json: false
end
end
App.Router.map ->
@resource "sentences", ->
@resource "sentence",
path: ":sentence_id", ->
@route "check"
<script type="text/x-handlebars" id="sentence">
<button {{action 'check'}} class='btn'>Check</button>
</script>
答案 0 :(得分: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>
然后在rails侧,您可以摆脱路由和控制器的检查操作,只需使用默认端点(在这种情况下,当您从ember应用程序执行提交时,它会将更改发送到您的rails使用sentences#update
(/sentences/:id/update.json
)的应用。