动态定义回形针样式大小
Posted
技术标签:
【中文标题】动态定义回形针样式大小【英文标题】:Define paperclip style sizes dynamicaly 【发布时间】:2012-04-23 12:40:23 【问题描述】:我有一个用户选择模板的应用程序。在此模板上,用户可以上传图像。
我用回形针上传图片。
每个模板都有不同的图像尺寸。
是否可以在回形针中动态设置图像样式 => 'widthxheight'?
我想要这个功能,因为如果用户决定更改模板,那么他们不必再次上传照片,他们只需裁剪“原始”。
感谢您的帮助。
我会尽力解决这个问题。
用户上传页面标题的图像。样式可以称为“标题”,尺寸应该是该标题空间的尺寸,例如“400x600”
现在用户可以查看他们在图库中上传的图片。他们想为他们的页面选择一张图片,但这次是为尺寸为“300x100”的“侧边栏”。我不想让他们再次上传相同的图像。我想创建一个名为“sidebar”的新样式,尺寸为“300x100”。我也不想删除“标题”样式或调整它的大小。
我怎样才能用回形针做到这一点?
【问题讨论】:
我认为this other thread 可能会引起您的兴趣 Christian 非常感谢这对我有帮助。 【参考方案1】:如果我知道你有这样的想法:Paperclip change size
另外:
attr_accessor :size
...
self.dimensions = self.size.split("x")
控制器:
def create
...
@file.size = params[:size] # OR Simply include such field in form
...
end
例子:
型号:
class File
has_attached_file :upload
attr_accessor :size
before_save :extract_dimensions
serialize :dimensions
...
def extract_dimensions
...
self.dimensions = self.size.split("x")
end
end
表格:
<form action="some link">
...
<label>Size: </label><select name="file_size">
<option value="100x200">Large</option>
...
</select>
</form>
【讨论】:
感谢 Eraden 的回答。我希望能够保存具有不同尺寸的不同样式名称。第一次可能有一个样式叫做“header”。因此,对于页眉的尺寸,此样式由回形针保存。如果用户从图像库中选择此图像但希望尺寸不同,那么我想保存具有不同名称和尺寸的不同样式,例如尺寸为“50x50”的“页脚”。这就是我想做的。 按Dimension模型保存尺寸,使用回形针保存图像。使用此模式 U 可以将选择字段中的选项值设置为维度 id||维度名称 [按服务器端 Dimension.find_by_name(...) ] 或创建新的。当你添加新图像时,将他保存为基本(你可以在数据库中添加字段类型或创建树表类型 [parent_id])。当用户将图像转换为不同类型时,只需创建类型为 dimension_id 的新条目。通过这种方式,您可以检查是否有该类型的图片(如果有,则仅获取其 ID)或创建新条目。 更改:删除attr_accessor :size
添加belongs_to :dimension
添加模型尺寸替换self.dimensions = self.size.split("x")
由self.dimensions = self.dimension.size.split("x")
如果这个答案不是你所期望的,请给我更多关于电子邮件的信息,因为我真的不明白你想要做什么......我的电子邮件 => adrian.wozniak.1986 @gmail.com
感谢 Eraden 我认为您提供给我的信息为我指明了正确的方向。感谢您的耐心和详细信息。以上是关于动态定义回形针样式大小的主要内容,如果未能解决你的问题,请参考以下文章
使用 PropSheetLook_OneNoteTabs 样式动态调整 CMFCPropertySheet 的大小