emberjs断言失败的错误 [英] emberjs assertion failed error

查看:172
本文介绍了emberjs断言失败的错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

 未捕获错误:断言失败:您的服务器返回一个带有密钥退款的哈希值,但是您没有映射

这里是我的编码任何人都可以更正。



我的手柄

 < form> 
< th> {{查看Ember.TextField valueBinding =refund_amount占位符=输入退款金额}}< / th>
< td>< button type =submitclass =btn btn-success complete-btn{{action saveRefund}}>退款< / button>< / td>
< / form>

我的js模型

  Office.Refund = DS.Model.extend({
job_id:DS.attr('number'),
customer_id:DS.attr('number'),
amount:DS.attr('number')
});

我的js控制器

  saveRefund:function(){
var refund = Office.Refund.createRecord({
job_id:this.get('id'),
customer_id:this.get ('customer.id'),
金额:this.get('refund_amount')
});
this.get('store')。commit();
refund.on('didCreate',function(){
alert('created successfully');
});
}

这是我的refund_controller.rb

  def index 
@refund = Thunderbolt :: Refund.all
respond_to do | format |
format.html#index.html.erb
format.json {render json:@refund}
end
end
def new
@refund = refund.new
respond_to do | format |
format.html#new.html.erb
format.json {render json:@refund}
end
end

def create
refunds = params [:refund]
@refund = Refund.new(job_id:refunds [:job_id],customer_id:refunds [:customer_id],amount:refunds [:amount])
respond_to do |格式|
如果@ refund.save
format.html {redirect_to @refund,通知:退款成功}
format.json {render json:@refund,status::created,location: @refund}
else
format.html {render action:new}
format.json {render json:@ refund.errors,status::unprocessable_entity}
end
end
end

这是我的refund_serializer.rb

  class RefundSerializer< ActiveModel :: Serializer 
属性:id,:job_id,:customer_id,:amount,:created_at,update_at
end

这是我的refund.rb模型

 类退款< ActiveRecord :: Base 
attr_accessible:id,:amount,:customer_id,:job_id,:created_at,update_at
end


解决方案

通过在路径中添加资源:退款来解决此错误。 rb 而不是

 获取退款/索引

获取

获取退款/编辑

获取退款/显示


I am trying to insert data from ember's view but am getting following error message:

Uncaught Error: assertion failed: Your server returned a hash with the key refunds but you have no mapping for it

and here is my coding can anyone correct it.

My handlebar

<form>
   <th>{{view Ember.TextField valueBinding="refund_amount" placeholder="Enter refund amount"}}</th>
   <td><button type="submit" class="btn btn-success complete-btn" {{action saveRefund}}>Refund</button></td>
</form>

My js model

Office.Refund = DS.Model.extend({
    job_id: DS.attr('number'),
    customer_id: DS.attr('number'),
    amount: DS.attr('number')
});

MY js controller

saveRefund: function() {
    var refund = Office.Refund.createRecord({
    job_id: this.get('id'),
    customer_id: this.get('customer.id'),
    amount: this.get('refund_amount')
  });
    this.get('store').commit();
    refund.on('didCreate',function() {
    alert('created successfully');
  });
}

Here is my refund_controller.rb

  def index
    @refund = Thunderbolt::Refund.all
    respond_to do |format|
    format.html # index.html.erb
    format.json { render json: @refund}
    end
  end
def new
    @refund = Refund.new
    respond_to do |format|
      format.html # new.html.erb
      format.json { render json: @refund }
    end
  end

  def create
    refunds = params[:refund]
    @refund = Refund.new(job_id: refunds[:job_id], customer_id: refunds[:customer_id], amount: refunds[:amount])
    respond_to do |format|
      if @refund.save
        format.html { redirect_to @refund, notice: 'Refund successful.' }
        format.json { render json: @refund, status: :created, location: @refund }
      else
        format.html { render action: "new" }
        format.json { render json: @refund.errors, status: :unprocessable_entity }
      end
    end
  end

Here is my refund_serializer.rb

  class RefundSerializer < ActiveModel::Serializer
    attributes :id, :job_id, :customer_id, :amount, :created_at, :updated_at
  end

Here is my refund.rb model

  class Refund < ActiveRecord::Base
    attr_accessible :id, :amount, :customer_id, :job_id, :created_at, :updated_at
  end

解决方案

Solved this error by adding resources :refunds in routes.rb instead of

  get "refunds/index"

  get "refunds/new"

  get "refunds/edit"

  get "refunds/show"

这篇关于emberjs断言失败的错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆