2010-05-27 57 views
0

我想运行一个回形针方法上创建只有轨道:在创建运行的方法只有

has_attached_file :file 

这种方法似乎并不接受:上=>:创建一些其他轨道的方法做。

我想:

before_create 
after_create 

等,但那些没有工作。

我也做:

if :create 

如何测试如果控制器使用创建模型的方法?

谢谢!

+0

你是否试图在某处确认文件?为什么该文件只能在创建时才可用? – BaroqueBobcat 2010-05-27 22:36:38

+0

我有一个sftp除了回形针和更新(就像有人更新照片标题时)一样。所以对于记录的文本更新,我不想处理文件。 – djburdick 2010-05-27 22:40:35

回答

1

当您使用has_attached_file :file。有2个新的回调,您可以使用它:

before_file_post_process 
after_file_post_process 

所以,你可以使用它,并检查是否对象在创建或不new_record?

before_createafter_create是荃存在,但独立的你的依恋。

+0

我希望has_attached_file甚至不会被调用,除非创建了 – djburdick 2010-05-27 22:49:47

+0

您误解了'has_attached_file'的作用。它仅在调用类文件时调用过一次,它所做的是创建一个其他方法和变量的加载,以允许对象在对象的生命周期中的各个点处理附件。因此,下一步就是制定并解释您只希望在创建时发生的事情。 – Gareth 2010-05-27 23:04:10

+0

没错。我知道它只被调用过一次,但我只希望在调用控制器中的create方法时调用它 - 而不是在其他任何时候调用该模型。当用户只更新与文件相关的文本时,它仍然调用文件传输的东西(我修改了回形针以使用sftp) – djburdick 2010-05-27 23:47:28