小编Rim*_*ian的帖子

Ruby on Rails中的TimeZone Select字段

我想输出其中一个选择字段供用户选择他们的时区.我的用户模型将时区保存为以秒为单位的整数.但如果不实际,我可以改变它.

像这样的东西:

<select>
  ...
  <option value="x">+9:00 (Darwin, Australia)</option>
  <option value="x">+10:00 (Sydney, Australia)</option>
  ...
</select>
Run Code Online (Sandbox Code Playgroud)

我看到Ruby on Rails中有一个Time Class ...有人能指出我正确的方向吗?

user-interface timezone ruby-on-rails

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

如何在使用命令cordova s​​erve时添加Live Reload?

我正在使用此命令在浏览器中打开我的应用程序:cordova serve但是当我更新代码时它不会自动刷新.我怎样才能做到这一点?

我曾试图使用phonegap serve具有实时重新加载但它不断向我发送警报并崩溃我的浏览器.

那么,如果你能告诉我怎样才能解决两个很棒的问题.

phonegap-plugins cordova

11
推荐指数
3
解决办法
2万
查看次数

使用active_model_serializers序列化模型数组

我试图使用gem将模型的序列化版本作为参数发送到视图 ActiveModel::Serializer::ArraySerializer.new(@admins, each_serializer: AdminSerializer).as_json

#app/serializers/admin_serializer.rb
class AdminSerializer < ActiveModel::Serializer
  attributes :id, :email, :access_locked?
end


#app/controllers/dashboard/admins_controller.rb
  def index
    @search = Admin.search(params[:q])
    @admins = @search.result(:distinct => true).page(params[:page]).per(10)

    @page_entries_info = view_context.page_entries_info @admins
    # render json: @admins
    respond_to do |format|
      format.html
      format.js
      format.json {render json: @admins}
    end
  end



#app/views/dashboard/admins/index.html.erb
  <%= debug (ActiveModel::Serializer::Adapter.adapter_class(:json_api).new(ActiveModel::Serializer.serializer_for(@admins.first).new(@admins.first),{}).to_json) %>
  <%= debug (@admins.all.map{|admin| AdminSerializer.new(admin).to_json}) %>
Run Code Online (Sandbox Code Playgroud)

以上调试产生以下响应:

--- '{"data":{"id":"1","type":"admins","attributes":{"email":"tech@bluesapling.com","access_locked?":false}}}' //returned by the first debug


---
- '{"object":{"id":36,"email":"aubrey_schmitt@feeneykoch.io","created_at":"2016-03-28T05:15:17.546Z","updated_at":"2016-03-28T05:15:17.546Z"},"instance_options":{},"root":null,"scope":null}'
- '{"object":{"id":20,"email":"alysa_johnston@thompson.io","created_at":"2016-03-28T05:15:16.304Z","updated_at":"2016-03-28T05:15:16.304Z"},"instance_options":{},"root":null,"scope":null}'
- '{"object":{"id":22,"email":"kristofer.langosh@kunzeluettgen.com","created_at":"2016-03-28T05:15:16.459Z","updated_at":"2016-03-28T05:15:16.459Z"},"instance_options":{},"root":null,"scope":null}'
- '{"object":{"id":37,"email":"beryl_keler@wiza.biz","created_at":"2016-03-28T05:15:17.624Z","updated_at":"2016-03-28T05:15:17.624Z"},"instance_options":{},"root":null,"scope":null}'
- '{"object":{"id":5,"email":"wilhelmine_buckridge@crona.io","created_at":"2016-03-28T05:15:15.139Z","updated_at":"2016-03-28T05:15:15.139Z"},"instance_options":{},"root":null,"scope":null}'
- '{"object":{"id":14,"email":"edward_wisoky@corkery.net","created_at":"2016-03-28T05:15:15.838Z","updated_at":"2016-03-28T05:15:15.838Z"},"instance_options":{},"root":null,"scope":null}'
- '{"object":{"id":27,"email":"leonor@jerde.biz","created_at":"2016-03-28T05:15:16.848Z","updated_at":"2016-03-28T05:15:16.848Z"},"instance_options":{},"root":null,"scope":null}'
- '{"object":{"id":2,"email":"carley@wyman.net","created_at":"2016-03-28T05:15:14.873Z","updated_at":"2016-03-28T05:15:14.873Z"},"instance_options":{},"root":null,"scope":null}'
- …
Run Code Online (Sandbox Code Playgroud)

json ruby-on-rails active-model-serializers ruby-on-rails-4 json-api

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

在vim中突出显示语法

当我在vim中打开语法颜色时,我在黑色上读深蓝色时遇到了麻烦.

如何更改某些默认颜色或模式的颜色,如:

http://www.vim.org/scripts/script.php?script_id=1571

vim vim-syntax-highlighting

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

从iPhone访问localhost(在同一网络中)

我想在我的iPhone中测试在localhost(XAMPP)中开发的iPhone Web应用程序.我的系统IP在本地网络中是192.168.1.1.

当我http://192.168.1.1:80在浏览器中访问时,它说"DSL路由器上的服务器192.168.1.1:80需要用户名和密码".

我认为它必须是我的XAMPP用户名/密码,但它似乎不是,它显示404错误.

我的系统和我的iPhone都在同一个网络中.那么我在哪里做错了?

iphone localhost

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

Ember组件集成测试:`link-to` href为空

我正在尝试编写一个组件集成测试,这个博客文章,但我的组件有link-to一个动态路由,并且该href属性没有填写.这是我正在尝试做的简化版本.

我的组件的模板:

{{#link-to "myModel" model}}
Run Code Online (Sandbox Code Playgroud)

这是我测试的相关部分:

this.set('model', {
  id: 'myId',
  name: 'My Name'
});

this.render(hbs`
{{my-component model=model}}
`);

assert.equal(this.$('a').attr('href'), '/myModel/myId'); // fails
Run Code Online (Sandbox Code Playgroud)

link-to被渲染,只是没有href属性.如果我在测试中记录HTML,它看起来像:

<a id="ember283" class="ember-view">My Name</a>
Run Code Online (Sandbox Code Playgroud)

我需要对我的"模型"做些什么才能获得link-tohref?我试着link-to在ember中查看测试,并发现这部分测试,这基本上就是我正在做的事情 - 提供一个带有id键集的POJO .有任何想法吗?

编辑:

DEBUG: -------------------------------
DEBUG: Ember      : 1.13.8
DEBUG: Ember Data : 1.13.10
DEBUG: jQuery     : 1.11.3
DEBUG: -------------------------------
Run Code Online (Sandbox Code Playgroud)

javascript integration-testing ember.js htmlbars

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

将鼠标悬停在水豚上

我在页面上有一个按钮,只有当鼠标悬停在某个元素上时才会出现.但我无法弄清楚如何模仿这个,然后点击链接,这样我就可以使用Capybara和Selenium进行黄瓜测试.

selenium mouseevent capybara

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

Circle CI Docker服务不会缓存COPY

我正在CircleCI上运行docker而我在缓存COPY命令时遇到问题.

Circle CI文档提到了已知的缓存问题,并建议使用此perl脚本来设置复制文件的时间戳以保留缓存.

泊坞窗最佳实践文档状态:

在ADD和COPY指令的情况下,检查放入图像的文件的内容.具体来说,对文件进行校验和,然后在高速缓存查找期间使用该校验和.

根据CircleCi的建议,我将缓存保存到磁盘,然后在下次测试运行时再次加载.这似乎是在COPY高速缓存正确之前的命令.

要调试,我输出我试图在本地复制的文件的md5校验和,然后从docker容器中输出并正确匹配.因此,理论上缓存应该加载.我不确定Docker是否使用md5作为校验和.

这是我目前的circle.yml:

机器:服务: - docker

dependencies:
  cache_directories:
    - "~/docker"
  pre:
    - mkdir -p ~/docker
  override:
    - docker info
    - if [[ -e ~/docker/image.tar ]]; then docker load -i ~/docker/image.tar; fi
    - docker images
    - docker build -t circles .

checkout:
  post:
    - ls -l
    - ./timestamp-set-to-git.pl
    - ls -l

test:
  override:
    - md5sum .bowerrc
    - docker run circles md5sum .bowerrc
    - docker save circles …
Run Code Online (Sandbox Code Playgroud)

docker circleci

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

如何在Ruby on Rails gem中包含一个控制器?

我正在尝试为开源项目做贡献,我需要一个控制器来处理需要提交的几个表单.

我在gem内部的一个目录中创建了这些控制器app/controllers/gemname/my_controller.rb.

但是,当我尝试访问控制器时,似乎没有加载(我得到一个名称错误就像我输入类似NonExistentController的东西).

如何使用gem加载我的控制器?

谢谢!

ruby gem rubygems ruby-on-rails ruby-on-rails-plugins

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

我需要将哪些参数传递给控制器​​到Carrierwave安装型号?

我有一个带有图像属性的Artwork模型,其中安装了Carrierwave.在编写控制器规范时,我意识到图像字段保持空白,即使我认为我传入的是文件对象.

我的调试信息告诉我问题是我安装了CarrierWave的图像属性,而不是其他东西.我不认为我传递了它需要的信息,但我不知道该尝试什么.

这是控制器操作,带有一些调试信息来识别问题:

def create
    @artwork = @imageable.artworks.new(params[:artwork])
    logger.debug "Artwork should be valid: #{@artwork.valid?}"
    logger.debug "Errors: #{@artwork.errors.full_messages}"
    if @artwork.save
        flash[:success] = "Artwork created."
        redirect_to [@imageable, :artworks]
    else
        flash[:error] = "Artwork not created."
        render :new
    end
end
Run Code Online (Sandbox Code Playgroud)

在测试日志中,我在运行我的规范后看到了这个:

Processing by ArtworksController#create as HTML
  Parameters: {"artwork"=>{"image"=>"#<File:0x4515480>", "title"=>"Portrait","year"=>"2012", "surface_type"=>"canvas", "size"=>"10 x 10", "price"=>"100.0", "for_sale"=>false, "prints_available"=>false, "notes"=>"extra notes"}, "file"=>"#<File:0x46c6938>", "originals_gallery_id"=>"1"}
[1m[36mOriginalsGallery Load (0.0ms)[0m  [1mSELECT "originals_galleries".* FROM   "originals_galleries" WHERE "originals_galleries"."id" = ? LIMIT 1[0m  [["id", "1"]]
Artwork should be valid: false
Errors: ["Image can't be …
Run Code Online (Sandbox Code Playgroud)

rspec ruby-on-rails carrierwave

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