我想运行一个回形针方法上创建只有轨道:在创建运行的方法只有
has_attached_file :file
这种方法似乎并不接受:上=>:创建一些其他轨道的方法做。
我想:
before_create
after_create
等,但那些没有工作。
我也做:
if :create
如何测试如果控制器使用创建模型的方法?
谢谢!
我想运行一个回形针方法上创建只有轨道:在创建运行的方法只有
has_attached_file :file
这种方法似乎并不接受:上=>:创建一些其他轨道的方法做。
我想:
before_create
after_create
等,但那些没有工作。
我也做:
if :create
如何测试如果控制器使用创建模型的方法?
谢谢!
当您使用has_attached_file :file
。有2个新的回调,您可以使用它:
before_file_post_process
after_file_post_process
所以,你可以使用它,并检查是否对象在创建或不new_record?
的before_create
和after_create
是荃存在,但独立的你的依恋。
我希望has_attached_file甚至不会被调用,除非创建了 – djburdick 2010-05-27 22:49:47
您误解了'has_attached_file'的作用。它仅在调用类文件时调用过一次,它所做的是创建一个其他方法和变量的加载,以允许对象在对象的生命周期中的各个点处理附件。因此,下一步就是制定并解释您只希望在创建时发生的事情。 – Gareth 2010-05-27 23:04:10
没错。我知道它只被调用过一次,但我只希望在调用控制器中的create方法时调用它 - 而不是在其他任何时候调用该模型。当用户只更新与文件相关的文本时,它仍然调用文件传输的东西(我修改了回形针以使用sftp) – djburdick 2010-05-27 23:47:28
你是否试图在某处确认文件?为什么该文件只能在创建时才可用? – BaroqueBobcat 2010-05-27 22:36:38
我有一个sftp除了回形针和更新(就像有人更新照片标题时)一样。所以对于记录的文本更新,我不想处理文件。 – djburdick 2010-05-27 22:40:35