标签: ruby

Windows上的ExecJS :: RuntimeError试图遵循rubytutorial

更新: 科林建议删除行// = require_tree.已经解决了这个问题.

我已经浪费了2天时间试图跟踪每个建议并解决我的问题.我试图按照Windows机器上的http://ruby.railstutorial.org书籍,并且不能为我的生活经历以下讨厌的错误.

ExecJS::RuntimeError in Static_pages#home

Showing C:/Users/.../bootcamp-sample-app/app/views/layouts/application.html.erb where line #6 raised:

["ok","(function() {\n\n\n\n}).call(this);\n"]
(in C:/Users/.../bootcamp-sample-app/app/assets/javascripts/sessions.js.coffee)
Extracted source (around line #6):

3: <head>
4:   <title><%= full_title(yield(:title)) %></title>
5:   <%= stylesheet_link_tag    "application", media: "all" %>
6:   <%= javascript_include_tag "application" %>
7:   <%= csrf_meta_tags %>
8:   <%= render 'layouts/shim' %>
9: </head>
Rails.root: C:/Users/.../bootcamp-sample-app

Application Trace | Framework Trace | Full Trace
app/views/layouts/application.html.erb:6:in `_app_views_layouts_application_html_erb___487732698_30422172'
Request
Run Code Online (Sandbox Code Playgroud)

我已经尝试了所有的建议,包括用msi安装nodejs,使用execjs 1.3.0和其他我甚至不记得的东西.这是gem文件

source 'https://rubygems.org'

gem 'rails', '3.2.8'
gem 'bootstrap-sass', '2.0.0'
gem …
Run Code Online (Sandbox Code Playgroud)

javascript ruby windows ruby-on-rails asset-pipeline

101
推荐指数
4
解决办法
7万
查看次数

如何清除sidekiq的所有工作?

我在Rails应用程序中使用sidekiq作为后台任务.现在工作的数量变得更多,所以我想清除所有的工作.我在控制台中尝试了以下命令

Sidekiq::Queue.new.clear
Run Code Online (Sandbox Code Playgroud)

但它给出了以下错误.

NameError: uninitialized constant Sidekiq::Queue 
Run Code Online (Sandbox Code Playgroud)

如何清除sidekiq的所有工作?

ruby ruby-on-rails sidekiq

101
推荐指数
9
解决办法
6万
查看次数

100
推荐指数
2
解决办法
5万
查看次数

如何以正确的格式写入JSON文件

我在Ruby中创建一个哈希,并希望以正确的格式将其写入JSON文件.

这是我的代码:

tempHash = {
    "key_a" => "val_a",
    "key_b" => "val_b"
}
fJson = File.open("public/temp.json","w")
fJson.write(tempHash)
fJson.close
Run Code Online (Sandbox Code Playgroud)

以下是生成的文件的内容:

key_aval_akey_bval_b
Run Code Online (Sandbox Code Playgroud)

我正在使用Sinatra(不知道是什么版本)和Ruby v 1.8.7.

如何以正确的JSON格式将其写入文件?

ruby json file

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

Ruby中的私有模块方法

我有两个问题

最佳实践

  • 我有一个算法,使用公共接口对数据结构执行某些操作
  • 它目前是一个具有许多静态方法的模块,除了一个公共接口方法之外都是私有的.
  • 有一个实例变量需要在所有方法之间共享.

这些是我能看到的选项,哪个最好?:

  • 模块与静态(红宝石"模块")的方法
  • 使用静态方法的
  • Mixin模块包含在数据结构中
  • 重构修改该数据结构的算法部分(非常小)并使其成为调用算法模块的静态方法的mixin

技术部分

有没有办法制作私有模块方法

module Thing
  def self.pub; puts "Public method"; end
  private
  def self.priv; puts "Private method"; end
end
Run Code Online (Sandbox Code Playgroud)

private中似乎有没有什么影响,我仍然可以调用Thing.priv没有问题.

ruby access-specifier private-methods

99
推荐指数
5
解决办法
7万
查看次数

如何在rails中测试文件上传?

我有一个控制器,负责接受JSON文件,然后处理JSON文件,为我们的应用程序做一些用户维护.在用户测试文件上传和处理工作,但当然我想在我们的测试中自动化测试用户维护的过程.如何在功能测试框架中将文件上传到控制器?

ruby testing upload ruby-on-rails

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

将符号作为键将json格式的键值对转换为ruby hash的最佳方法是什么?

我想知道将符号作为键将json格式的键值对转换为ruby hash的最佳方法是什么:示例:

{ 'user': { 'name': 'foo', 'age': 40, 'location': { 'city' : 'bar', 'state': 'ca' } } }
==> 
{ :user=>{ :name => 'foo', :age =>'40', :location=>{ :city => 'bar', :state=>'ca' } } }
Run Code Online (Sandbox Code Playgroud)

是否有辅助方法可以做到这一点?

ruby json ruby-on-rails

99
推荐指数
4
解决办法
6万
查看次数

我如何比较两个哈希?

我试图使用以下代码比较两个Ruby Hashes:

#!/usr/bin/env ruby

require "yaml"
require "active_support"

file1 = YAML::load(File.open('./en_20110207.yml'))
file2 = YAML::load(File.open('./locales/en.yml'))

arr = []

file1.select { |k,v|
  file2.select { |k2, v2|
    arr << "#{v2}" if "#{v}" != "#{v2}"
  }
}

puts arr
Run Code Online (Sandbox Code Playgroud)

屏幕输出是file2的完整文件.我知道文件不同的事实,但脚本似乎没有拿起它.

ruby hash

99
推荐指数
5
解决办法
9万
查看次数

测试string是否是Ruby on Rails中的数字

我的应用程序控制器中有以下内容:

def is_number?(object)
  true if Float(object) rescue false
end
Run Code Online (Sandbox Code Playgroud)

以及我的控制器中的以下条件:

if mystring.is_number?

end
Run Code Online (Sandbox Code Playgroud)

条件是抛出undefined method错误.我猜我is_number在错误的地方定义了......?

ruby string integer ruby-on-rails

99
推荐指数
8
解决办法
10万
查看次数

如何通过匹配Capybara中元素的确切文本来查找元素

我在HTML中有以下两个元素

<a href="/berlin" >Berlin</a>
<a href="/berlin" >Berlin Germany </a>
Run Code Online (Sandbox Code Playgroud)

我试图通过使用以下Capybara方法找到元素

find("a", :text => "berlin")
Run Code Online (Sandbox Code Playgroud)

上面将返回两个元素,因为它们都包含文本柏林.

有没有办法匹配Capybara的确切文字?

ruby regex capybara

99
推荐指数
5
解决办法
7万
查看次数