小编Mic*_*ill的帖子

在开始救援中包裹所有控制器操作以进行错误记录

我最近为我的rails应用设置了Rollbar.它报告错误但不总是报告上下文.为了获取上下文,您需要捕获异常并传入错误

begin
  # code...
rescue => e
  Rollbar.error(e)
Run Code Online (Sandbox Code Playgroud)

是否有通过上下文一般性地捕获异常的rails方式?

也许你用应用程序控制器包装?在Django中,您可以继承视图...

error-handling ruby-on-rails rollbar

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

Ruby build.来自两个类

我在构建我.where以检索特定值时遇到了麻烦.

我有这个层次结构:

-顾客

--has_many项目

--- has_many门票

我想通过客户ID检索所有票证作为ActiveRecord :: Relation.

我的想法是这个循环(c是我想要门票的客户):

customer_projects = Project.where(:customer_id => c.id)
  tickets = ActiveRecord::Relation.new(Ticket, anything)
  customer_projects.each do |cp|
    project_tickets = Ticket.where(:project_id => cp.id).where("DATE(created_at) >= ?", report.start_time).where("DATE(created_at) <= ?", report.end_time)
    tickets.insert(project_tickets)
  end
Run Code Online (Sandbox Code Playgroud)

我不知道在哪里写"任何"作为表参数,也不知道这是否有效.我更喜欢.where可以取回所有门票的"简单" .

ruby sql ruby-on-rails where relation

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

如何使用webhdfs列出HDFS目录内容?

是否可以使用webhdfs?检查HDFS中目录的内容?

这可以像hdfs dfs -ls通常那样工作,而是使用webhdfs.

如何webhdfs使用Python 2.6 列出目录?

python json hadoop hdfs webhdfs

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

Chrome扩展程序会在每次重新加载页面时加载background.js

我可以在background.js每次使用Chrome扩展程序重新加载页面时重新加载吗?

我想每次都用它来注入一个CSS文件.

javascript google-chrome google-chrome-extension

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

Ruby将范围测量的字符串转换为测量列表?

我有一个我想要转换的示例字符串,由此:

#21inch-#25inch
Run Code Online (Sandbox Code Playgroud)

对此:

#21inch #22inch #23inch #24inch #25inch
Run Code Online (Sandbox Code Playgroud)

使用Ruby,请告诉我如何做到这一点.

ruby

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

“Revisers#new 中的 NoMethodError”的未定义方法 `input'

我正在努力让这个表格发挥作用。 Revisershas_one关系User

新的.html:

<div class="container">

		<%= form_for @reviser, url: new_user_reviser_path(user_id: current_user.id) do |f| %>

		<div class="row">
			<div class="div.col-md-4 select">
			<div class="form-group">
				<label>dsd</label>
				<%= f.input :description %>
			</div>
				
			</div> 
		</div>
             <%= f.submit "Become Adviser", class: "btn btn-large btn-primary" %>
		<% end %>
		</div>
	</div>
Run Code Online (Sandbox Code Playgroud)

错误日志:

Rendered revisers/_form.html.erb (30.8ms)
  Rendered revisers/new.html.erb within layouts/application (31.7ms)
Completed 500 Internal Server Error in 38ms (ActiveRecord: 0.3ms)

ActionView::Template::Error (undefined method `input' for #<ActionView::Helpers::FormBuilder:0x007faf35829f10>):
    11:             <div class="div.col-md-4 select">
    12:             <div class="form-group">
    13: …
Run Code Online (Sandbox Code Playgroud)

html ruby forms controller ruby-on-rails

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

OSX 上相同 gem 的多个版本 [以及如何摆脱它们]

当我从主目录(而不是项目)运行时gem list,我会得到一系列已安装在 Mac 上的 gem。然而,似乎有很多不同版本的 gem,我知道我不需要 xc2xb4t,如下所示:

\n\n

本地宝石

\n\n
actionpack (4.2.6, 4.2.4, 4.2.2)\nactionview (4.2.6, 4.2.4, 4.2.2)\nactivemodel (4.2.6, 4.2.4, 4.2.2)\nactivesupport (4.2.6, 4.2.4, 4.2.2)\nbigdecimal (1.2.7, default: 1.2.6)\nio-console (0.4.6, default: 0.4.3)\njson (1.8.3, default: 1.8.1)\nmini_portile2 (2.1.0, 2.0.0)\nminitest (5.9.0, 5.8.4)\npsych (2.0.17, default: 2.0.8)\nrails-dom-testing (2.0.0, 1.0.7)\nrake (11.1.2, default: 10.4.2)\nrdoc (4.2.2, default: 4.2.0)\nslop (4.3.0, 3.6.0)\nuglifier (3.0.0, 2.5.3)\n
Run Code Online (Sandbox Code Playgroud)\n\n

安装了同一个 gem 的两个(甚至三个)不同版本。我猜测这可能是因为某些 gem(例如 Rake)使用旧版本作为默认版本。

\n\n

如何摆脱这些过时的 gem 版本,以及如何将较新的版本(例如 、 、 等)设置bigdecimalio-consolegemrake的默认版本?

\n

ruby macos rubygems ruby-on-rails

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

将char数组转换为atoi失败了

我已经检查过与此主题相关的其他帖子,并使用该atoi函数转换字符串,但值始终为0.

以下是存储在以下内容中的值hold4:

char hold4[4] = { "0", "." , "1", "5", "\0");
Run Code Online (Sandbox Code Playgroud)

然后我尝试转换为一个int,我得到

int hm = atoi(hold4);
Run Code Online (Sandbox Code Playgroud)

hm 打印出来:

hm = 0 
Run Code Online (Sandbox Code Playgroud)

我希望hm是0.15,因为这是值hold4.我想将此值用于后续的数学运算.

这是我的代码:

int x = 0;
int pixel = 0;  
char hold[10];
char hold4[4];  

for(x=0; x < linesCount; x++)
{
    fscanf(model, "%c", &hold[x]);
    if(hold[x] == '\0' || hold[x] == '\r' || hold[x] == '\n')
    {
        hold4[0] = hold[x-4]; 
        hold4[1] = hold[x-3]; 
        hold4[2] = hold[x-2]; 
        hold4[3] = hold[x-1];
        hold4[4] …
Run Code Online (Sandbox Code Playgroud)

c arrays atoi

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

在 Ruby 中按符号名称调用私有方法

我有一个方法的符号名称,我想用一些参数调用它。我真正想做的归结为以下代码片段:

method.to_proc.call(method)
Run Code Online (Sandbox Code Playgroud)

在这种情况下,method是对象上方法的符号名称。就我而言,我试图调用一个恰好是对象私有的方法。

这是我得到的错误输出:

>$ ruby symbol_methods.rb 
symbol_methods.rb:33:in `call': private method `test_value_1' called for "value":String (NoMethodError)
    from symbol_methods.rb:33:in `block (2 levels) in <main>'
    from symbol_methods.rb:30:in `each'
    from symbol_methods.rb:30:in `block in <main>'
    from symbol_methods.rb:29:in `each'
    from symbol_methods.rb:29:in `<main>'
Run Code Online (Sandbox Code Playgroud)

这是一个演示此行为的自包含示例:

data = [
  ["value", true],
  ["any value here", true],
  ["Value", true],
]

def matches_value(string)
  string == "value"
end

def contains_value(string)
  string.gsub(/.*?value.*?/, "\\1")
end

def matches_value_ignore_case(string)
  string.downcase == "value"
end

#tests
[:matches_value, :contains_value, :matches_value_ignore_case].each_with_index do |method, index|
  test = data[index]
  value …
Run Code Online (Sandbox Code Playgroud)

ruby testing symbols dispatch proc

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

需要'nokogiri'时找不到"require"命令

安装了Homebrew,ruby 2.0.0p648,nokogiri 1.6.7.2.当需要'nokogiri'时出现错误:

-bash: require: command not found
Run Code Online (Sandbox Code Playgroud)

怎么了?

ruby bash command-line nokogiri

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