我把我的批处理文件放在lib文件夹中并使用rails db配置,像这样的active-record.
require "#{File.dirname(__FILE__)}/../config/environment.rb"
class Batch
def hello
Message.new do |t|
t.title = "hello"
t.save
end
end
end
batch = Batch.new
batch.hello
Run Code Online (Sandbox Code Playgroud)
当执行批处理时
ruby lib/batch.rb
Run Code Online (Sandbox Code Playgroud)
在开发环境中没关系
但生产环境仍然保存开发数据库......
我如何设置rails_env batch.rb这样
ruby lib/batch.rb RAILS_ENV=production
Run Code Online (Sandbox Code Playgroud) 我有很多类要定义,但我不想重复以下工作:
class A < ActiveRecord::Base
end
Run Code Online (Sandbox Code Playgroud)
是否有任何声明语句来定义类而不使用该class语句?
我们正在创建一个网站,该网站接收生成的传入链接,并将点击它的用户转发到另一个网站,同时在我们的数据库中保存操作记录.我想这基本上就像AdSense这样的广告服务.
但是,重定向用户的最佳方法是什么?
我认为html-meta-tag-redirects是不可能的.
那么还有其他选择吗?
head :moved_permanently, :location => "http://www.domain.com/"
Run Code Online (Sandbox Code Playgroud)
这个是301重定向.下一个是302:
redirect_to "http://www.domain.com"
Run Code Online (Sandbox Code Playgroud)
还有其他人吗?哪个最适合我们的情况?链接是高度动态的,并且一直在变化.
我们希望确保我们不违反任何现有标准,当然我们不希望搜索引擎将我们标记为垃圾邮件发送者(我们不是,顺便说一下).
谢谢!
我在我的erb文件中发布图像之前使用以下代码检查文件是否存在.这是一个ruby/sinatra应用程序 - 而不是rails.
<% @imagename = @place.name + ".jpg" %>
<% if FileTest.exist?( "/Users/Tim/projects/game/public/" + @imagename ) %>
<p><img src= '<%= @imagename %>' width="400" height="300" /> </p>
<% end %>
Run Code Online (Sandbox Code Playgroud)
当我将它发布到Heroku时,它显然是行不通的.
我尝试使用相对路径,但我无法让它工作:
<% if FileTest.exist?( "/" + @imagename ) %>
Run Code Online (Sandbox Code Playgroud) 我正在尝试CreateFile使用JNA在Windows 7上调用Win32的功能,目的是执行此答案的Java实现,以检查文件是否正由另一个进程使用.
我到目前为止的代码是:
import com.sun.jna.Native;
import com.sun.jna.examples.win32.Kernel32;
public class CreateFileExample {
static int GENERIC_ACCESS = 268435456;
static int EXCLUSIVE_ACCESS = 0;
static int OPEN_EXISTING = 3;
public static void main(String[] args) {
Kernel32 kernel32 =
(Kernel32) Native.loadLibrary("kernel32", Kernel32.class);
kernel32.CreateFile("c:\\file.txt", GENERIC_ACCESS, EXCLUSIVE_ACCESS,
null, OPEN_EXISTING, 0, null);
}
}
Run Code Online (Sandbox Code Playgroud)
但是,运行它会引发异常:
java.lang.UnsatisfiedLinkError: Error looking up function 'CreateFile': The specified procedure could not be found.
如果我"kernel32"将loadLibrary调用更改为无效的东西,那么我得到The specified module could not be found这样的结果表明正在从库路径中正确找到DLL,但是我调用的方式有问题CreateFile. …
我正在使用Windows的wget,我想指定一个--post-data过滤器(并避免使用--post-file过滤器),但我很难让它工作.这可能是因为双引号内有字符串,如下所示:
wget "http://www.somesite.com/wfs" --header="Content-Type: text/xml; charset=UTF-8"
--user=username --password=password --no-check-certificate
--post-data="big long string with "quotes" in it" --output-document=C:\Test.xml
Run Code Online (Sandbox Code Playgroud)
有没有其他人成功地--post-data在wget for Windows中工作?我错过了什么吗?
干杯
安迪
假设,我有一个二维数组A,并且它声称在其中的某个地方有一个对象my_element.找出坐标的最快方法是什么?我使用的是Ruby 1.8.6.
我想要一个简单的方法来插入一个函数和参数,以便稍后执行,所以我可以有一种包装它.
在这种情况下,我想用它来进行基准测试,例如:
def timefunc(fn, *args):
start = time.clock()
fn(args)
stop = time.clock()
return stop - start
Run Code Online (Sandbox Code Playgroud)
如何传递参数数量未知的参数?如何找到参数个数?一旦我知道参数的数量,我怎么能调用该函数?
垃圾收集器如何处理静态变量以及它们在哪里分配内存?在堆或堆栈上(作为成员变量)请为我澄清这一点.
我正在开发一个应用程序,我坚持使用以下代码.
我有一个链接数组,其中包含用户在表单中发布的一些链接.比方说我的数组是bunch1 = ["google.com","http://yahoo.com"]
现在,在我将它们存储到数据库之前,我需要确保每个链接都在开头添加了"http://",因为我在ActiveRecord对象中有'validate:'逻辑.
所以我的逻辑是我将迭代数组并检查数组中每个链接之前是否存在"http://"字符串段.很明显,我必须在我的数组中的"google.com"之前添加"http://"字符串段.
所以我写了这样的代码:
bunch2=bunch1.map { |y| y="http://"+y }
Run Code Online (Sandbox Code Playgroud)
但是它创建了一个像bunch2 = ["http://google.com","http:// http://yahoo.com"]这样的一堆数组
正如您所看到的,它在"http://yahoo.com"之前添加了额外的"http://".
为了解决这个问题,我修改了上面这样的代码:
bunch2 = bunch1.select { |x| x !~ /http/ }.map { |y| y="http://"+y }
Run Code Online (Sandbox Code Playgroud)
但它正在生成一个类似的数组
bunch2 = ["http://google.com"],因为使用select方法的正则表达式正在消除yahoo.com
有人可以帮我解决这个问题.提前致谢...
ruby ×6
java ×2
arrays ×1
class ×1
coordinates ×1
createfile ×1
erb ×1
http ×1
http-headers ×1
jna ×1
post ×1
python ×1
redirect ×1
sinatra ×1
wget ×1