小编Nil*_*ang的帖子

如何抑制latex-beamer中目录中的小节?

假设我的乳胶 - 投影仪演示中有一些部分.其中一些部分包含子部分,而另一部分则不包含.所以在目录中看起来很奇怪.

如何抑制目录中的小节?

latex

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

<++>在vim(latex-suite)中意味着什么,我该怎么跳到那里?

我正在使用vim-latex-suite而不知道如何跳转到<++>扩展的宏.

例如,在插入模式下键入SSE时,我得到:

/section{}<++>
Run Code Online (Sandbox Code Playgroud)

具体含义是<++>什么?如何移动到那里?

vim latex-suite

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

为什么此事务在ActiveRecord中不起作用?

我目前正在玩交易,无法绕过以下场景:

鉴于存在用户名为"johnny"且全名为"John Smith"的用户.

我启动两个rails控制台并按此顺序执行以下命令:

控制台A:

ActiveRecord::Base.transaction { user = User.find_by_username("foo"); sleep 10; user.update_attribute(:full_name, "#{user.full_name}-1"); }
Run Code Online (Sandbox Code Playgroud)

控制台B:

ActiveRecord::Base.transaction { user = User.find_by_username("foo"); sleep 10; user.update_attribute(:full_name, "#{user.full_name}-2"); }
Run Code Online (Sandbox Code Playgroud)

所以时间如下:

读"约翰史密斯"

B读"约翰史密斯"

写道"John Smith-1"

B写道"John Smith-2"

根据我的数据库类事务,B应该无法编写"John Smith-2",因为数据自读取后就已更改.因此,交易应该回滚,交易A应该赢.我希望用户名是"John Smith-1",但结果是"John Smith-2".

任何想法为什么会发生这种情况或如何获得预期的行为?

亲切的问候

尼尔斯

ruby activerecord transactions ruby-on-rails

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

如何使用HTTP Auth和resque Web界面?

我有一个独立的resque工作队列,并希望使用包含的Web界面监视它,而不涉及任何rails应用程序.

我通过foreman管理我的进程,我的Procfile看起来像这样:

worker: bundle exec rake resque:work
web: bundle exec resque-web --foreground --app-dir /home/xxxx --server thin --port 5678 --no-launch
Run Code Online (Sandbox Code Playgroud)

为web生成的upstart脚本如下所示:

start on starting resque_cmd_runner-web
stop on stopping resque_cmd_runner-web
respawn

env PORT=5100
env PATH='/usr/local/rvm/gems/ruby-2.2.1/bin:/usr/local/rvm/gems/ruby-2.2.1@global/bin:/usr/local/rvm/rubies/ruby-2.2.1/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/local/rvm/bin:/usr/local/rvm/gems/ruby-2.2.1/bin:/usr/local/rvm/gems/ruby-2.2.1@global/bin:/usr/local/rvm/rubies/ruby-2.2.1/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/local/rvm/bin'
env GEM_PATH='/usr/local/rvm/gems/ruby-2.2.1:/usr/local/rvm/gems/ruby-2.2.1@global:/usr/local/rvm/gems/ruby-2.2.1:/usr/local/rvm/gems/ruby-2.2.1@global'
env QUEUE='*'
env RESQUE_WEB_HTTP_BASIC_AUTH_USER='xxxx'
env RESQUE_WEB_HTTP_BASIC_AUTH_PASSWORD='zzzz'

setuid xxxx

chdir /home/famulus/resque_cmd_runner

exec bundle exec resque-web --foreground --app-dir /home/famulus/resque_cmd_runner --server thin --port 5678 --no-launch
Run Code Online (Sandbox Code Playgroud)

但是,忽略HTTP BASIC AUTH的环境变量.我认为他们只是在resque-web gem中工作,而不是在resque中包含的界面中.

如何为包含的应用程序获取HTTP AUTH?

ruby ubuntu resque

5
推荐指数
0
解决办法
333
查看次数

will_paginate生成错误数量的页面链接

我正在使用将分页3.0.2和Rails 3.1.0.

以下代码存在于我的控制器中.

  @users = User.visible_for(current_user).
           includes(:study_courses).
           ordered_by_last_name.
           page(params[:page]).per_page(20)
Run Code Online (Sandbox Code Playgroud)

在从上面@users分配的部分地方users我做了:

= will_paginate users, previous_label: h("<"), next_label: h(">") 
Run Code Online (Sandbox Code Playgroud)

如果有20个用户,它给我6个页面链接,其中第一个页面包含20个用户,第二个页面包含10个用户,当然其余页面包含零个用户.

我无法弄清楚为什么有6个页面链接而不是3个.

更新:弄清楚will_paginate不使用distinct来计算记录.任何想法如何做到这一点?

will-paginate ruby-on-rails-3

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

如何获取rails 3中所有数据库行的作用域?

假设我们进行以下设置:

class Post < ActiveRecord::Base
  belongs_to :user
end

class User < ActiveRecord::Base
  has_many :posts
end
Run Code Online (Sandbox Code Playgroud)

进一步假设用户有一个布尔属性'admin',表示他是否是全局管理员.

我想为User类编写一个方法(或范围?),称为"visible_posts".如果用户不是管理员,则应该只返回自己的帖子.如果他是管理员,该方法应该返回系统中的所有帖子.

我的第一次尝试是这样的:

class User < ActiveRecord::Base

  [...]

  def visible_posts
    if admin?
      Post.all
    else 
      posts
    end
  end

end
Run Code Online (Sandbox Code Playgroud)

这里的问题是Post.all返回一个数组,但我更愿意拥有一个ActiveRecord :: Relation,就像我从帖子中获取稍后使用它一样.

是否有可能获得代表所有帖子的ActiveRecord :: Relation?

activerecord scope ruby-on-rails-3

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

如何在 Ruby 中解析带单引号 (') 的 JSON 字符串?

我正在尝试解析这样的 JSON 字符串:

JSON.parse("{'foo' : 42 }")
Run Code Online (Sandbox Code Playgroud)

然而,这会产生一个 JSON::ParseError:

JSON::ParserError: 757: unexpected token at '{'foo' : 42 }'
    from /Users/nils/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/json/common.rb:155:in `parse'
    from /Users/nils/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/json/common.rb:155:in `parse'
    from (irb):2
    from /Users/nils/.rvm/rubies/ruby-2.1.2/bin/irb:11:in `<main>'
Run Code Online (Sandbox Code Playgroud)

我认为它期望'角色是一个"角色。由于我有多个 GB 的此类文件,因此我想让解析器使用它。由于某些值可能还包含'字符,因此我不能简单地运行搜索并替换它们,因为这可能会破坏原始内容。

关于如何让 JSON 解析器解析这个的任何建议?

ruby parsing json

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

Java Enum 行为很奇怪

我在我的代码中定义了以下枚举:

public enum Table {
  BASE_PRICES("base_prices", Affinity.UPS,
          Arrays.asList(
                  Field.BILLING_WEIGHT_LOWER_BOUND,
                  Field.BILLING_WEIGHT_UPPER_BOUND,
                  Field.BASE_PRICE,
                  Field.SERVICE_TYPE_ID,
                  Field.ZONE_ID
          )),

  COUNTRY_CODES("country_codes", Affinity.UPS,
          Arrays.asList(Field.COUNTRY_CODE)),

  SERVICE_TYPES("service_types", Affinity.UPS,
          Arrays.asList(Field.SERVICE_TYPE)),

  ZONE_DIVISION("zone_division", Affinity.UPS,
          Arrays.asList(
                  Field.COUNTRY_CODE_ID,
                  Field.SERVICE_TYPE_ID,
                  Field.ZONE_ID,
                  Field.POST_CODE_LOWER_BOUND,
                  Field.POST_CODE_UPPER_BOUND)),

  ZONES("zones", Affinity.UPS,
          Arrays.asList(Field.ZONE_CODE));

  // used to denote the affinity of a table for
  // affinity specific DB cleanup and other stuff.
  public enum Affinity {
    UPS
  }

  private String name;
  private Affinity affinity;
  private List<Field> fields;

  private Table(String name, Affinity affinity, List<Field> fields){
    this.name = name;
    this.affinity = affinity;
    this.fields = fields; …
Run Code Online (Sandbox Code Playgroud)

java enums

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

uninitialized constant Resque :: Helpers启动rails服务器时

尝试通过以下方式启动rails应用程序时出错rails s:

/Users/nils/.rvm/gems/ruby-1.9.3-p429/gems/resque-scheduler-2.0.1/lib/resque/scheduler.rb:9:in `<class:Scheduler>': uninitialized constant Resque::Helpers (NameError)
    from /Users/nils/.rvm/gems/ruby-1.9.3-p429/gems/resque-scheduler-2.0.1/lib/resque/scheduler.rb:7:in `<module:Resque>'
    from /Users/nils/.rvm/gems/ruby-1.9.3-p429/gems/resque-scheduler-2.0.1/lib/resque/scheduler.rb:5:in `<top (required)>'
    from /Users/nils/.rvm/gems/ruby-1.9.3-p429@global/gems/bundler-1.3.5/lib/bundler/runtime.rb:81:in `require'
    from /Users/nils/.rvm/gems/ruby-1.9.3-p429@global/gems/bundler-1.3.5/lib/bundler/runtime.rb:81:in `rescue in block in require'
    from /Users/nils/.rvm/gems/ruby-1.9.3-p429@global/gems/bundler-1.3.5/lib/bundler/runtime.rb:66:in `block in require'
    from /Users/nils/.rvm/gems/ruby-1.9.3-p429@global/gems/bundler-1.3.5/lib/bundler/runtime.rb:59:in `each'
    from /Users/nils/.rvm/gems/ruby-1.9.3-p429@global/gems/bundler-1.3.5/lib/bundler/runtime.rb:59:in `require'
    from /Users/nils/.rvm/gems/ruby-1.9.3-p429@global/gems/bundler-1.3.5/lib/bundler.rb:132:in `require'
    from /Users/nils/Uni/Masterarbeit/TweetTracker/config/application.rb:7:in `<top (required)>'
    from /Users/nils/.rvm/gems/ruby-1.9.3-p429/gems/railties-4.0.0/lib/rails/commands.rb:76:in `require'
    from /Users/nils/.rvm/gems/ruby-1.9.3-p429/gems/railties-4.0.0/lib/rails/commands.rb:76:in `block in <top (required)>'
    from /Users/nils/.rvm/gems/ruby-1.9.3-p429/gems/railties-4.0.0/lib/rails/commands.rb:73:in `tap'
    from /Users/nils/.rvm/gems/ruby-1.9.3-p429/gems/railties-4.0.0/lib/rails/commands.rb:73:in `<top (required)>'
    from bin/rails:4:in `require'
    from bin/rails:4:in `<main>'
Run Code Online (Sandbox Code Playgroud)

我在Ruby 1.9.3中使用Rails 4.在我的Gemfile中:

gem 'resque', "~> 2.0.0.pre.1", github: "resque/resque"
gem 'resque-scheduler'
Run Code Online (Sandbox Code Playgroud)

和相应的初始化程序:

# …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails resque

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