And*_*hin 0 ruby-on-rails paperclip backbone.js ruby-on-rails-3 ruby-on-rails-3.1
我正在使用回形针来保存图像.一切正常,我可以使用@ item.image.url访问该项目的网址.
class Item
has_attached_file :image, :styles => {
:original => ['1920x1680>', :jpg],
:small => ['100x100>', :jpg],
:medium => ['250x250>', :jpg],
:large => ['500x500>', :jpg]
}
end
Run Code Online (Sandbox Code Playgroud)
这是控制台:
> Item.last.image.url(:small)
=> "/system/images/items/1/small/chanel.jpg?1334005208"
Run Code Online (Sandbox Code Playgroud)
如果我从服务器模板化HAML或ERB并像这样向用户提供页面,这是简单易行的.项目/ show.html.haml:
.item
.item-image
= image_tag @item.image.url(:small)
Run Code Online (Sandbox Code Playgroud)
但是,使用backbone.js,我无法构造URL,因为我在上下文中没有回形针助手.基本上,我将图像的以下属性以json形式发送到页面.
#<Item:0x007fc97559b960> {
:id => 1,
:image_content_type => "image/jpeg",
:image_file_name => "chanel.jpg",
:image_file_size => 28880,
:image_updated_at => 2012-04-09 21:00:08 UTC
}
Run Code Online (Sandbox Code Playgroud)
什么是忍者的方式来将image.url作为项目的属性包含在内.我如何考虑样式URLS?有一个像"image_small_url","image_normal_url"等属性预定和可访问的将是很好的.思考?
我正在使用Jbuilder为我正在处理的项目构建JSON视图,所以我的index视图,例如如下所示:
json.array!(@things) do |json, thing|
json.id thing.id
json.name thing.name
json.description thing.description
json.image_url thing.image.url
json.thumb_url thing.image.url(:thumb)
end
Run Code Online (Sandbox Code Playgroud)
在我的Backbone模板中,我可以说thing.get('image_url')和thing.get('thumb_url').
简而言之,您将需要使用类似Jbuilder的东西,或者as_json在模型中手动覆盖.就个人而言,我喜欢在视图级别处理这个问题,这是Jbuilder允许您轻松完成的任务.
| 归档时间: |
|
| 查看次数: |
1617 次 |
| 最近记录: |