小编eme*_*his的帖子

Rails 4:如何从控制器内部检查验证错误

我有一些基本的模型验证,当表单由AJAX提交时触发.如果验证失败,我想将验证错误传递回视图,以便我可以告诉用户.

  def save
    logger.debug( params )
    @video = Video.new( video_params )
    if @video.save
        render json: @video
    else
        render json: errors.messages
    end
  end
Run Code Online (Sandbox Code Playgroud)

这会引发错误,因为errors未定义.我究竟做错了什么?我阅读了关于此的文档,它只显示errors.messages在视图中使用.

ruby validation ruby-on-rails ruby-on-rails-4

2
推荐指数
1
解决办法
6085
查看次数

selectize导致键盘出现在Android上

在Android上,当触摸选择器时,将出现键盘输入。我怀疑这是因为生成的输入的类型为“文本”。

如何防止这种情况发生?如果用户从下拉列表中进行选择,则出现键盘是没有意义的。

我正在将selectize实现为Angular模块angular-selectize,但是我与开发人员进行了检查,该问题并非特定于angular包装器。

这是我的代码:

        <selectize  ng-model="filters.min_bedrooms" 
                    options="[
                            {title:'0', id:0},
                            {title:'1', id:1},
                            {title:'2', id:2},
                            ]">
        </selectize>
Run Code Online (Sandbox Code Playgroud)

生成以下标记:

<input type="text" autocomplete="off" tabindex="" style="width: 4px; opacity: 0; position: absolute; left: -10000px;">
Run Code Online (Sandbox Code Playgroud)

javascript android angularjs selectize.js

2
推荐指数
2
解决办法
2861
查看次数

如何通过持续集成自动化业力单元测试

目前我们运行我们的业力/茉莉花单元测试一个gulp任务: gulp test

我们正试图弄清楚如何让circleci自动运行我们的测试.我尝试在circle.yml文件gulp testtest:部分下添加但是我得到了gulp: command not found.但是如果我尝试一些基本的东西,我会得到同样的错误pwd.显然,我做错了什么.

我认为使用scriptspackage.json中的属性可以实现相同的结果,因为circleci会自动运行,但我不知道该怎么做.

这是我们的circle.yml文件......

dependencies:
  override:
    - echo PHP rules

test:
  override:
    - gulp test #this doesnt work!

deployment:
  development:
    branch: dev
    heroku:
      appname: ourapp
Run Code Online (Sandbox Code Playgroud)

这是package.json ......

{
  "name": "ourapp",
  "private": true,
  "description": "An app",
  "main": "index.js",
  "dependencies": {
    "gulp": "~3.8.5"
  },
  "devDependencies": {
    "karma": "~0.12.31",
    "karma-chrome-launcher": "~0.1.7",
    "jasmine-core": "~2.2.0",
    "karma-jasmine": "~0.3.5",
    "karma-firefox-launcher": "~0.1.4",
    "karma-ie-launcher": "~0.1.5",
    "karma-opera-launcher": "~0.1.0",
    "karma-phantomjs-launcher": "~0.1.4",
    "gulp": "~3.8.10", …
Run Code Online (Sandbox Code Playgroud)

continuous-integration unit-testing node.js karma-runner circleci

2
推荐指数
1
解决办法
2572
查看次数

Cakephp:如何使用迁移来插入记录

我正在使用CakePHP v3.x,我试图弄清楚如何通过迁移工具插入一些记录.该文档仅列出了修改架构的方法.我是否需要使用原始SQL手动插入记录?

php sql cakephp cakephp-3.0

2
推荐指数
1
解决办法
2118
查看次数

如何通过引用传递PHP对象

在PHP中,对象通过引用自动传递:

$obj1 = new stdClass();
$obj1->foo = 'bar';
$obj2 = $obj1;
$obj2->foo = 'OOF';
var_dump($obj1->foo); // OOF
Run Code Online (Sandbox Code Playgroud)

是否有一种优雅的方式来复制该变量而不是引用原始变量?我想存储一个对象的副本,然后修改它而不影响原始对象.谢谢.

php pass-by-reference

2
推荐指数
1
解决办法
2442
查看次数

如何使用SVG clipPathUnits =“ objectBoundingBox”

我正在尝试使用SVG遮罩图像。

<svg version="1.1" xmlns="http://www.w3.org/2000/svg" width=500 height=300>
    <defs>
    <clipPath id="clip">
    <path d="M2.16,1.363h23.699c13.739,0,24.899,10.74,24.899,23.999s-11.16...

<img width="500" style="clip-path: url(#clip);-webkit-clip-path: url(#clip);" />
Run Code Online (Sandbox Code Playgroud)

它可以工作,但我希望clipPath大小与媒体匹配。在Chrome中,我可以使用CSS控制clipPath的大小,但在FF中,clipPath很小。在Safari中,一项资产没有任何显示,而另一项资产则偏离了中心。

我读过其他有关使用的问题clipPathUnits

 <clipPath id="clip" clipPathUnits="objectBoundingBox">
Run Code Online (Sandbox Code Playgroud)

但是我根本无法使它工作。显然,它期望路径单位为小数……但是我的形状太复杂了,无法手工编写,而且我不知道有任何支持该格式的设计软件。

更新资料

根据罗伯特的评论,我尝试将CS​​S转换添加到clipPath来“转换”单元...

    #clip {
        -webkit-transform:scale(0.004195862879,0.005554321262);
        transform:scale(0.004195862879,0.005554321262);
    }
Run Code Online (Sandbox Code Playgroud)

这样可以objectBoundingBox在Chrome中按预期方式工作。但是使用Safari或FF仍然没有运气。似乎Safari仍会在要裁剪的元素外部渲染clipPath ...使其不可见。FF开发人员工具使其不清楚放置clipPath的位置。

html css svg clip-path

2
推荐指数
2
解决办法
1624
查看次数

Rails 5 集成测试失败,并出现 NoMethodError: undefined method `[]=' for nil:NilClass 使用 Devise 帮助程序 sign_in 时

我正在使用内置的 Minitest 为 Rails v5.1 编写集成测试。

这是集成测试类:

require 'test_helper'

class PuppiesEndpointsTest < ActionDispatch::IntegrationTest

    include Devise::Test::IntegrationHelpers

    test "DELETE puppy" do
        marty = people(:marty)

        sign_in(marty)

        # delete puppies_delete_path(marty.puppies.first.id)
        # delete `/api/v1/puppies/destroy/${marty.puppies.first.id}.json`
        # delete puppies_path(marty.puppies.first.id)
        delete '/api/v1/puppies/destroy/6666.json'
        assert_response :success
    end

end
Run Code Online (Sandbox Code Playgroud)

上面的所有路由,包括被注释掉的路由,都会导致相同的神秘错误:

Error:
PuppiesEndpointsTest#test_DELETE_puppy:
NoMethodError: undefined method `[]=' for nil:NilClass
    test/integration/puppies_endpoints_test.rb:17:in `block in <class:PuppiesEndpointsTest>'


bin/rails test test/integration/puppies_endpoints_test.rb:7
Run Code Online (Sandbox Code Playgroud)

它不提供堆栈跟踪或任何其他信息来诊断它到底在说什么。我使用 byebug 来调试抛出错误的行marty之前的变量。delete它显示了预期的关联(固定)记录的小狗数组。

我还在控制器操作的最顶部放置了一个 byebug,并且此错误在到达该 byebug 之前使测试失败,因此我认为这几乎排除了操作代码中的任何内容。

这是我运行时看到的相关内容rake routes

                       PATCH      /api/v1/puppies/edit/:id(.:format)        puppies#update
                       DELETE     /api/v1/puppies/destroy/:id(.:format)     puppies#destroy
        puppies_create POST       /api/v1/puppies/create(.:format)          puppies#create
Run Code Online (Sandbox Code Playgroud)

这是我的路线文件中的实际内容: …

integration-testing ruby-on-rails devise warden ruby-on-rails-5

2
推荐指数
1
解决办法
1177
查看次数

CakePHP:Model-> Model-> find()

这是一个非常基本的问题,但书中没有解释.

在find方法之前将多个模型拼凑在一起会发生什么?

例如: $stuff = $this->Article->User->find('all');

这有什么不同于: $this->User->Article->find('all');

你能做两个以上吗? $this->Book->Chapter->Author->find('all');

很明显它与模型之间的关系有关,但我认为这些是在模型中定义的,所以我不清楚发生了什么.

php cakephp cakephp-2.0 cakephp-2.1

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

Bootstrap 3:表格焦点后iPhone上的水平滚动条

在Bootstrap 3中,流体网格似乎存在问题,导致水平滚动条出现在小型设备上.我的问题不同......

除非我单击文本输入,否则我没有获得任何滚动条.在iPhone上,可以自动缩放当前字段.这是好的(我猜),但离开该字段后,缩放不会被删除,因此内容被剪裁,并且有一个丑陋的水平滚动条.

有没有办法阻止变焦?或者也许告诉移动safari将缩放设置回原来的样子?

css mobile-safari ios twitter-bootstrap twitter-bootstrap-3

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

CSS 文件的最大行长

浏览器会限制 CSS 文件中一行的长度吗?

遇到了一个问题我使用sass --style compressed.

当样式位于单独的行上时,它工作正常。如果我在缩小的 CSS 中的关键位置输入换行符,它仍然可以正常工作。所以这告诉我 CSS 的编写方式或缩小发生的方式没有问题 - 而是浏览器似乎不喜欢关于格式缩小代码的某些内容。

html css sass

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