回形针& Rails Api

时间:2010-10-17 14:54:55

标签: ruby-on-rails api curl paperclip

我有一个使用回形针的照片rails应用程序。我的模型名为照片,请求参数也是照片。所以当我尝试通过curl上传时,我使用:curl -F“photo [photo] = @ / pics / pic.jpg“http://something/photos.xml。 这很好用!如何将照片[照片]参数更改为“照片”或“媒体”或其他内容?如何更改端点网址? (例如http // something / upload.xml)

感谢名单! 任何帮助将受到高度赞赏,: - )

1 个答案:

答案 0 :(得分:2)

您可以做的是设置另一个控制器并使用它。回形针的作用就是设置一个额外的“照片”属性和方法,从而重用Rails .new和.update_attributes自己的方法。这样,当您使用该信息调用/photos.xml时,您正在做的只是一个常规的帖子照片操作,还有设置它的图片的额外好处。

当您执行Object.photo = YOUR_PHOTO时,您实际上正在使用Paperclip代码。

所以,你可以使用类似的东西:

class ApplicationController < ActiveController::Base

 def upload
  photo = Photo.new
  photo.photo = params[:photo]
  # ... extra code
  photo.save
  render :text => "Ok"
 end

end

并添加如下路线:

map.upload "/upload(.:format)", :controller => "application", :action => "upload" 

(或者如果你使用的话,它是等效的Rails3)

这样,当您执行'curl -F“photo =@/pics/pic.jpg”http://something/upload.xml“时,您将调用上传操作并使用”photo“参数创建照片。 photo = params [:photo]将获取您上传的临时文件并继续执行常规的回形针任务:)

相关问题