我在某个时候重新生成了binstubs.它曾经是Spring
完美无缺的,在我第一次拿起Rails控制台之后,控制台会立刻出现.
现在看来Spring已经不再运行了.
当我输入:
rails console
Run Code Online (Sandbox Code Playgroud)
我明白了:
Looks like your app's ./bin/rails is a stub that was generated by Bundler.
In Rails 4, your app's bin/ directory contains executables that are versioned
like any other source code, rather than stubs that are generated on demand.
Here's how to upgrade:
bundle config --delete bin # Turn off Bundler's stub generator
rake rails:update:bin # Use the new Rails 4 executables
git add bin # Add bin/ to source control
You may …
Run Code Online (Sandbox Code Playgroud) 我在尝试着:
require 'nokogiri'
Run Code Online (Sandbox Code Playgroud)
在irb,没有成功.Nokogiri宝石已安装.从:
gem list --local
Run Code Online (Sandbox Code Playgroud)
我明白了:
nokogiri (1.4.4, 1.4.3.1)
Run Code Online (Sandbox Code Playgroud)
但当我试图在irb中"要求"时,我得到:
LoadError:没有这样的文件加载 - 来自(irb)的nokogiri:8:在`require'from(irb):8 from:0
Nokogiri'生活':
/opt/ruby-enterprise-1.8.7-2010.02/lib/ruby/gems/1.8/gems/nokogiri-1.4.4/lib
Run Code Online (Sandbox Code Playgroud)
在我的系统上.另外,我的GEM PATH(来自gem env)是:
/opt/ruby-enterprise-1.8.7-2010.02/lib/ruby/gems/1.8
Run Code Online (Sandbox Code Playgroud)
如果我一直进入nokogiri gem目录,我可以成功地"要求"它.但为什么我不能从其他地方要求它呢?我误解了有关宝石路径的一些事情.
我在Rails 3应用程序中实现了Devise,具有:registerable和:confirmmable选项.用户收到确认电子邮件,没问题.
但是,当一个人注册或确认时,我想向另一个地址发送一封额外的电子邮件.我可能会使用Observer模式.
但是,我可以使用相同的邮件程序,无论是什么/在哪里,Devise使用,或者我必须创建另一个邮件?
x = "output/file.zip"
x =~ /output\/.\../
Run Code Online (Sandbox Code Playgroud)
返回零.逃避这段时间有问题,但我无法弄清楚.
我现在已经尝试过几次了.我使用rvm和我正在使用的ruby是1.8.7.更改我的Gemfile后运行"bundle update"会使处理器挂起几乎100%的CPU.它已经运行了一个多小时.我需要做些什么吗?
在Rails 3.2.3应用程序中,我需要允许管理员创建数据库并使用schema.rb中的表填充它.
只是在schema.rb中执行代码是理想的.基本上,我正在寻找一种方法:
rake db:setup
Run Code Online (Sandbox Code Playgroud)
不使用"耙子".
我还有几件我想做的事情,例如备份数据库,我想知道是否有可以使用的Rails DSL,或者我只需要编写SQL并通过ActiveRecord :: Base运行它.connection.execute.
谢谢你尽你所能的帮助.
我无法再在我的Rails应用程序中使用paperclip url呈现页面.我最近更新了我的宝石包.我正在使用Rails 3.2.8和Paperclip 3.1.4.我之前使用的是Paperclip 2.7.0.
我视图中失败的链接是:
ad.image.url(:medium)
Run Code Online (Sandbox Code Playgroud)
我的广告模型包含以下声明:
Paperclip.interpolates :ad_subdomain do |attachment, style|
attachment.instance.brand.subdomain
end
has_attached_file :image,
:default_url => '/images/blank.gif',
:styles => { :medium => ["290x230>","jpg"],
:thumb => ["100x100>","jpg"] },
:storage => :file,
:path => "/mcp/ads/:style/:ad_subdomain/:basename.:extension"
Run Code Online (Sandbox Code Playgroud)
抛出的错误是:
TypeError: wrong argument type Class (expected Module)
from /Users/me/.rvm/gems/ruby-1.9.3-p0@mcp5/gems/paperclip-3.1.4/lib/paperclip/attachment.rb:368:in `extend'
from /Users/me/.rvm/gems/ruby-1.9.3-p0@mcp5/gems/paperclip-3.1.4/lib/paperclip/attachment.rb:368:in `initialize_storage'
from /Users/me/.rvm/gems/ruby-1.9.3-p0@mcp5/gems/paperclip-3.1.4/lib/paperclip/attachment.rb:80:in `initialize'
from /Users/me/.rvm/gems/ruby-1.9.3-p0@mcp5/gems/paperclip-3.1.4/lib/paperclip/instance_methods.rb:5:in `new'
from /Users/me/.rvm/gems/ruby-1.9.3-p0@mcp5/gems/paperclip-3.1.4/lib/paperclip/instance_methods.rb:5:in `attachment_for'
from /Users/me/.rvm/gems/ruby-1.9.3-p0@mcp5/gems/paperclip-3.1.4/lib/paperclip.rb:191:in `block in has_attached_file'
Run Code Online (Sandbox Code Playgroud) 我有以下规格:
# MUST BE TESTED WITH JAVASCRIPT. As you can see before, it is allowing
# the Log Out link. On a real page, that element is hidden.
it "logs out a user" do
user = login_user
click_link user.email
click_link "Log Out"
assert page.has_content?('Logged out')
assert page.has_content?('Company Profile')
end
Run Code Online (Sandbox Code Playgroud)
我的login_user
方法在我的spec_helper.rb
文件中,如下所示:
def login_user(admin = false)
user = FactoryGirl.create(:user, :admin => admin)
visit login_path
fill_in 'Email', :with => user.email
fill_in 'Password', :with => user.password
click_button 'Go'
assert page.has_content?('Logged …
Run Code Online (Sandbox Code Playgroud) 我有一个应用程序,用户可以上传保存到S3的基于文本的文件(xml,csv,txt).其中一些文件非常大.需要对这些文件中的数据执行各种操作,因此不是从S3中读取它们,而是偶尔将其超时我在本地下载文件,然后将操作放在上面.
这是我用来从S3下载文件的代码.Upload
是我用来存储此信息的AR模型的名称.此方法是Upload模型上的实例方法:
def download
basename = File.basename(self.text_file_name.path)
filename = Rails.root.join(basename)
host = MyFitment::Utility.get_host_without_www(self.text_file_name.url)
Net::HTTP.start(host) do |http|
f = open(filename)
begin
http.request_get(self.text_file_name.url) do |resp|
resp.read_body do |segment|
f.write(segment) # Fails when non-ASCII 8-bit characters are included.
end
end
ensure
f.close()
end
end
filename
end
Run Code Online (Sandbox Code Playgroud)
所以你看到负载失败的上面一行.此代码以某种方式认为所有下载的文件都以ASCII 8位编码.我怎么能够:
1)检查远程文件的编码,例如2)下载并成功写入.
这是现在特定文件发生的错误:
Encoding::UndefinedConversionError: "\x95" from ASCII-8BIT to UTF-8
from /Users/me/code/myapp/app/models/upload.rb:47:in `write'
Run Code Online (Sandbox Code Playgroud)
感谢您提供的任何帮助!
我发现自己不得不一直这样做,当我匆忙时,我把它包装成条件:
if !myhash.blank?
hash.each do |k,v|
do_something
end
end
Run Code Online (Sandbox Code Playgroud)
要么:
myhash.map{|k,v| do_something} unless myhash.blank?
Run Code Online (Sandbox Code Playgroud)
必须有更清洁的东西.