小编Jar*_*ryl的帖子

如何使用Paperclip以编程方式设置文件上载

我有一个rake任务,使用faker gem为随机数据播种应用程序.但是,我们还要在此rake任务中上传图像(如徽标).

我们已经设置了Paperclip,但没有办法在rake任务中以编程方式上传它们.有任何想法吗?

ruby file-upload ruby-on-rails paperclip

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

如何组织太胖的Rails模型?

将逻辑从控制器转移到模型中是一种很好的做法.但是在任何复杂的系统中,即使大多数方法按照Rails方式是一个衬里,这也总是导致一个非常大的文件.

我使出车型分裂成其他模块和包括他们在原来的模式,例如model_flags,model_validation等任何人有更好的办法?

编辑:我选择了一个建议使用ActiveConcern的新答案.此外,对于任何对组织代码感兴趣的人,本文" 使ActiveRecord模型变薄 "应该会有很大帮助.

model ruby-on-rails

29
推荐指数
2
解决办法
8986
查看次数

是不是在观察者中访问会话?

我想在Ruby on Rails应用程序中记录用户的操作.

到目前为止,我有一个模型观察器,它在更新和创建后将日志插入数据库.为了存储哪个用户执行了记录的操作,我需要访问会话,但这是有问题的.

首先,它打破了MVC模型.其次,技术范围从hackish到outlandish,甚至可能甚至将实现绑定到Mongrel服务器.

什么是正确的方法?

ruby session logging ruby-on-rails observers

7
推荐指数
2
解决办法
3096
查看次数

在Windows上安装bcrypt-ruby gem

我正在尝试在Windows Vista上安装bcrypt-ruby.

到目前为止,我已经能够从安装Visual Studio 2008 Express的MS知识库文章和cl.exe安装nmake.exe.

但是,我现在遇到这个错误:

cl -nologo -Wall -I. -IC:/InstantRails/ruby/lib/ruby/1.8/i386-mswin32 -I
C:/InstantRails/ruby/lib/ruby/1.8/i386-mswin32 -I. -MD -Zi -O2b2xg- -G6  -c -Tcb crypt.c
cl : Command line warning D9035 : option 'Og-' has been deprecated and will be removed in a future release
cl : Command line warning D9002 : ignoring unknown option '-G6' bcrypt.c
C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\stdio.h(381) : warning C4255: '_get_printf_count_output' : no function prototype given: converting '()' to '(void)'
C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\stdlib.h(215) : …
Run Code Online (Sandbox Code Playgroud)

ruby windows gem bcrypt

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

使用之间的奇怪行为?日期方法

打开一个Rails控制台并输入:

2.weeks.ago.between? 2.weeks.ago, 1.week.ago
Run Code Online (Sandbox Code Playgroud)

它给你的真假吗?不,真的,再试几次,它会给你不同的答案.

现在,我在想,因为我们将2.weeks.ago与2.weeks.ago进行比较,评估两个语句之间的时间是导致这种行为的.

我不能肯定地说,但我猜是介于两者之间?方法不包括在内,因此如果在两个语句之间经过几毫秒,上面的代码将评估为true,因为它将在两个日期之间进行比较.

但是,如果CPU设法足够快地处理这个,以便可以忽略经过的时间,那么它将评估为false.

任何人都可以对此有所了解吗?在一个可能很关键的系统中,这是一个最好的边缘情况,但是当我的测试通过并且看似随机失败时,它让我很头疼.

奇怪的是,这样做不会发生:

 Date.yesterday.between? Date.yesterday, Date.tomorrow
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails date

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