小编xij*_*ijo的帖子

jQuery失去焦点事件

我试图在输入字段获得焦点时显示容器 - 这是实际问题 - 如果焦点丢失则隐藏容器.是否存在jQuery关注的相反事件?

一些示例代码:

<input type="text" value="" name="filter" id="filter"/>

<div id="options">some cool options</div>

<script type="text/javascript">
  $('#options').hide();

  $('#filter').focus(function() {
    $('#options').appear();
  });
</script>
Run Code Online (Sandbox Code Playgroud)

而我想做的是这样的事情:

$('#filter').focus_lost(function() {
  $('#options').hide();
});
Run Code Online (Sandbox Code Playgroud)

javascript jquery focus javascript-events

246
推荐指数
4
解决办法
25万
查看次数

Rails:将翻译存储在数据库中

我正在寻找一个插件/ gem解决方案来扩展本机rails i18n以便将我的翻译存储到我的数据库中.也许我使用了错误的搜索词,但我找到的只是信息,改变后端实际上是可能的,这个博客条目描述了如何编写我自己的后端.

很难想象,所有那些rails应用程序都将其翻译存储在yml文件中,或者每个开发人员都编写了自己的后端!

你知道为此工作的解决方案吗?在yml中存储多行文本真的让我失望!;)

谢谢和问候,

database ruby-on-rails backend internationalization

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

Cucumber/Webrat:按CSS类链接?

是否可以通过它的类名而不是id,文本或标题来关注链接?鉴于我有(哈哈,黄瓜内幕他?)以下的HTML代码:

<div id="some_information_container">
  <a href="edit" class="edit_button">Translation here</a>
</div>
Run Code Online (Sandbox Code Playgroud)
  • 我不想通过文本匹配,因为我必须关心我的测试中的翻译值
  • 我希望我的按钮看起来都是相同的样式,所以我将使用CSS类.
  • 我不想为每个链接分配一个id,因为其中一些是通过容器和链接类完美识别的

在Cucumber/Webrat中有什么我错过的吗?或者你有什么建议以更好的方式解决这个问题?

感谢您的帮助和问候,

编辑:我发现这里有关于这个主题的有趣讨论- 现在似乎仍然是一个悬而未决的问题.你还有其他解决方案吗?

css ruby css-selectors webrat cucumber

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

使用rails/webpacker进行反应测试设置

我已经将webpacker添加到我现有的rails应用程序中,一切都像魅力一样.

Webpack配置位于

config/webpack/shared.js
config/webpack/development.js
config/webpack/production.js
Run Code Online (Sandbox Code Playgroud)

node_modules安装在

vendor/node_modules
Run Code Online (Sandbox Code Playgroud)

js包文件在

app/javascript/packs/application.js
Run Code Online (Sandbox Code Playgroud)

我安装了react并写了一个小组件:

app/javascript/discover/example.jsx
Run Code Online (Sandbox Code Playgroud)

现在我很难设置如何设置一个有效的测试环境.通常我会说平时的测试设置应包括:karma,jasminemocha,webpack.

配置文件应该在哪里?测试文件将存储在何处,并构建一个karma.config.js将所有内容捆绑在一起.

如果有一个示例应用程序可以显示如何正确地执行所有操作,那将会很棒,但我显然缺乏将所有内容正确插入所需的必要技能.

这不是一个容易回答的问题,但拥有这样一个示例应用程序对于很多想要在将来使用webpacker的人来说非常有帮助.

感谢您对该主题的任何想法,
Jo

一些有用的资源:

  1. https://medium.com/@scbarrus/how-to-get-test-coverage-on-react-with-karma-babel-and-webpack-c9273d805063#.g6p5go9gd
  2. http://qiita.com/kimagure/items/f2d8d53504e922fe3c5c
  3. http://nicolasgallagher.com/how-to-test-react-components-karma-webpack/
  4. https://www.codementor.io/reactjs/tutorial/test-reactjs-components-karma-webpack

ruby ruby-on-rails karma-runner reactjs karma-jasmine

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

Rails单元测试不会加载灯具

rake test:units 在我当前的应用程序中失败,因为缺少必需的灯具数据.

如果我通过rake db:fixtures:load RAILS_ENV=test单元手动加载夹具测试工作,但rake清除测试数据库.

我的test_helper包含fixtures :all并且我的测试继承自它 - 但是装置根本就没有加载.

我现在有点无能为力,真的需要一些帮助!

我已经尝试了很多,我认为它与这个项目中使用的一些环境设置或插件有关.有谁知道在哪里阅读有关为测试环境加载哪些文件?

unit-testing ruby-on-rails fixtures

10
推荐指数
3
解决办法
1万
查看次数

Rails,Cucumber,Capybara:会话不会持续存在

我正在尝试为依赖于某些会话存储数据的功能编写测试,我的场景如下所示:

Scenario: Create offer
  Given I am on the start offer page
  When I select "Foo" from "bar"
  And I press "Go on"
  Then I should see "You are going to offer foo"
Run Code Online (Sandbox Code Playgroud)

通过使用我发现的调试器,信息正确地存储在会话中,但是在每个新请求中我都会获得一个新的会话.

至少在每个场景中都不应该有工作会话吗?任何想法为什么不是这样的?

提前谢谢,乔

版本:在轨道上运行2.3.10,黄瓜0.10.0,黄瓜轨道0.3.2,水豚0.4.1.2

session ruby-on-rails cucumber capybara

9
推荐指数
3
解决办法
5544
查看次数

使用Ruby FFI调用Rust lib时出现分段错误

我想传入String一个Rust lib,但它总是抛出一个分段错误.

这是代码:

 // lib.rs
 #[no_mangle]
 pub extern fn process(foo: String) -> String {
     foo
 }
Run Code Online (Sandbox Code Playgroud)

和Ruby文件:

 # embed.rb
 require 'ffi'

 module Hello
   extend FFI::Library
   ffi_lib 'target/release/libembed.dylib'
   attach_function :process, [ :string ], :string
 end

 puts Hello.process("foo")
Run Code Online (Sandbox Code Playgroud)

ruby ffi rust

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

Rails:searchlogic搜索或条件

我在版本2.3.5中使用'binarylogic-searchlogic'gem以及Rails 2.3.4.

我想要做的是在模型上搜索多个属性上的指定值.我通过将所有东西链接在一起来实现这一点

User.first_name_or_last_name_or_email_like(value)
Run Code Online (Sandbox Code Playgroud)

但是在这个搜索中有越来越多的属性,这往往是丑陋的.相反,我想使用searchlogic的搜索机制,如下所示:

search = User.search
search.first_name_like = value
search.last_name_like  = value
..
@users = search.all
Run Code Online (Sandbox Code Playgroud)

所以这是通过AND搜索的方式 - 但我想要的是OR.我找到了两种方法来实现这一目标,但两种方法都不起作用.

第一个:在条件前面加上or_

search = User.search
search.first_name_like = value
search.or_last_name_like  = value
@users = search.all
Run Code Online (Sandbox Code Playgroud)

这给了我 The or_last_name_like is not a valid condition. You may only use conditions that map to a named scope

第二个:使用 search.any

search = User.search
search.first_name_like = value
search.last_name_like  = value
@users = search.any
Run Code Online (Sandbox Code Playgroud)

给了我undefined method任何'for #`.

有什么想法吗?我是否认为自述的正确点?

谢谢你非常欢迎的帮助!

编辑:一些丑陋的解决方法的时间:

search = User.search
search.first_name_like …
Run Code Online (Sandbox Code Playgroud)

activerecord ruby-on-rails searchlogic

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

firefox和javascript重定向

我目前有一个firefox的问题,所有其他浏览器都以正确的方式运行 - 甚至是IE6!

我想要做的是重定向到子页面但留下历史记录条目.据我所知,有两种方法可以重写网址:

  • window.location ="some.url"; - 使用历史记录条目重定向到some.url
  • window.location.replace( "some.url"); - 没有历史记录输入的重定向

所以我必须使用第一个并在firebug控制台测试everthing工作正常.

现在这个问题有一种奇怪的部分:在控制台中运行良好的相同语句不在某些jQuery回调处理程序中:

jQuery("#selector").bind("submit", function() {
  $.getJSON("some_cool_json", function(response) {
    var redirect_path = response.path;
    window.location = redirect_path;
  });
  return false;
});
Run Code Online (Sandbox Code Playgroud)

哪里response_path设置正确,我查了一下!即使重定向工作正常,但没有创建历史记录条目.

关于那个的任何想法?会很好!;)

干杯

javascript firefox jquery history

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

Elixir Enum.max返回last而不是first元素

如果多个元素被认为是最大的,则返回找到的第一个元素. https://hexdocs.pm/elixir/Enum.html#max/2

iex> [4, 0, 4] |> Enum.with_index |> Enum.max
{4, 2}
Run Code Online (Sandbox Code Playgroud)

我原以为这会回来{4, 0},显然我错过了什么?

感谢任何帮助,以清理我的困惑:)

elixir

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