是否可以获取表单字段值并将其用作回形针附件文件名?
PiecePhoto
模型:
belongs_to :piece
has_attached_file :image,
:styles => {
:slider => "940x420#",
:single => "540>",
:thumb => "60x60#",
:medium => "140x140#",
:original => "1024x1024>"
},
:path => ":attachment/:id/:style/:filename",
:url => ":attachment/:id/:style/:filename",
:storage => :s3,
:bucket => 'monavala',
:s3_credentials =>"#{Rails.root}/config/s3.yml"
validates_presence_of :image
before_post_process :parameterize_file_name
def parameterize_file_name
extension = File.extname(image_file_name).gsub(/^\.+/, '')
filename = File.basename(image_file_name, ".#{extension}").parameterize
self.image.instance_write(:file_name, "#{filename}.#{extension}")
end
在filename = File.basename(image_file_name, ".#{extension}").parameterize
我想而不是image_file_name
从表单字段中获取价值。
编辑:
模型是嵌套的
Piece
has_many :piece_photos
accepts_nested_attributes_for :piece_photos
PiecePhotos
belongs_to :piece
has_attached_file :image
我知道在模型中获取表单值会破坏 MVC 模式。还有其他方法吗?
编辑2:
试图在这里严格,但我想我得再解释一下。
表单是嵌套的,我有Collection
那个.:has_many
Pieces
:has_many
PiecePhotos
Pieces
可以为每个Piece
您可以添加的字段添加字段PiecePhotos
。
我希望该文件名PiecePhotos
与Piece
名称 + 一些唯一的字符串或 ID 相同。
所以一切都必须在一个帖子中完成。我不想先上传碎片照片,然后再将它们添加到碎片中。
基本上我只需要获取 Piece 名称并将其用作 PiecePhoto 文件名。
这是表格现在的样子,它仍在开发中。