小编Sur*_*rep的帖子

Rails验证包含错误'未包含在列表中'

大家好我已经看到了几个类似于我的问题,但没有一个解决方案似乎解决了我的问题所以经过一天半的尝试,我决定尝试运气发布我的问题.

我在这个模型的MySQL数据库中有一个表:

class Client< ActiveRecord::Base

  validates :name, :length => {:maximum => 255}, :presence => true
  validates :client_status, inclusion: { in: 0..2, :presence => true }
  validates :client_type, inclusion: { in: 0..2, :presence => true}
end
Run Code Online (Sandbox Code Playgroud)

所以我希望client_status和client_type只是0到2之间的数值,这里是我写的rspec来容纳这个:

describe Client do
  before do
    @client = Client.new
  end

  it "should allow name that is less than 255 characters" do
    long_char = 'a' *254
    @client.name = long_char
    @client.client_status = 0
    @client.client_type = 1
    @client.should be_valid
  end

end
Run Code Online (Sandbox Code Playgroud)

这是一个非常简单的测试,我对于client_status和client_type都存在,所以我必须在RSPEC中添加它们,但运行此rspec会给我这个错误消息:

got errors: Value type is not …
Run Code Online (Sandbox Code Playgroud)

ruby validation rspec ruby-on-rails inclusion

5
推荐指数
1
解决办法
5228
查看次数

Ember测试路线重定向

我对Ember很新,以前从未写过测试用例.我目前有一个被用作基类的路由,并将被其他路由扩展,以使用相同的行为进行重定向.这是路线的样子:

import Ember from 'ember';

export default Ember.Route.extend({
  redirect: function(){
    var user = this.modelFor('application').user;
      if(Ember.isEmpty(user.get('auth'))){
        this.transitionTo('login');
      }
  },
  model: function(){
   return this.modelFor('application').user;
  }
});
Run Code Online (Sandbox Code Playgroud)

所以手动测试这个很好,如果我输入屏幕的直接网址,它将重定向到登录.这是我们想要的功能代码.我的任务是编写单元测试,并且无法找到我认为有用的任何东西.这可能是我对理解事物的经验不足,但我需要弄清楚如何测试这段代码.我会喜欢一些帮助,一些解释以及正在做的事情.我必须为这个ember项目进行单元测试和许多其他事情并且非常新我已经浪费了2天时间来研究如何测试这个类.

javascript unit-testing ember.js ember-testing

5
推荐指数
1
解决办法
912
查看次数

Cytoscape将自定义图像添加到其上具有可单击项的节点

我正在使用cytoscape js在ember中构建图表工具,并且可以呈现图表数据,但是我不知道如何设置每个节点以显示具有其中包含其他图像/按钮的图像。基本上我希望它看起来像这样:

在此处输入图片说明

在图像中,有两个按钮(我很可能还会添加图标),并且节点中也存在一些标签,这些标签我都不知道该怎么做。

这是我目前拥有的代码。

模板:

<div class="container" >
  <div id="cy"></div>
</div>
Run Code Online (Sandbox Code Playgroud)

组件JS:

import Ember from 'ember';


export default Ember.Component.extend({
tagName: '',

map: Ember.computed('model.map_data', function()
{
 if(this.get('model.map_data')){
   return JSON.parse(this.get('model.map_data').data)
  } else {
   return {};
  }
 }),
cytoscape_data: Ember.computed('model.sub_apps.[]',function() {
var ret = {
        nodes: [],
        edges: []
};
var red = 50;//replace with threshold
var green = 25;//replace with threshold
var _this = this;
this.get("model").map_data.forEach(function(node) {
  var y= 0;
  var x = 0;
  var color = 'green';
  if(node.value >= red ){ …
Run Code Online (Sandbox Code Playgroud)

javascript ember.js cytoscape.js

5
推荐指数
1
解决办法
1381
查看次数