我创建了一个名为PenUp的模型。我的PenUp模型附加了图像文件,validates
图像的attachment content type
。我现在希望我的模型能够附加音频文件和音频文件内容类型。
我不确定是否应该为音频文件创建名为Audio的模型,或者我应该将其附加到PenUp模型,就像附加图像一样。
我使用paperclip gem
附加文件。我基本上希望能够将音频文件上传到我的应用程序。我不确定哪些内容类型可供使用,以及如何在我的PenUp模型中使用它。
我如何能够附加音频文件并验证内容类型?
这是我的模特:pen_up.rb
class PenUp < ActiveRecord::Base
belongs_to :user
has_attached_file :image, :styles => { :medium => "300x300>", :thumb => "100x100>" }
validates_attachment_content_type :image, :content_type => ["image/jpg", "image/jpeg", "image/png", "image/gif"]
validates :image, presence: true
validates :description, presence: true
end
提前致谢!
答案 0 :(得分:1)
第一个问题:我不确定是否应该为音频文件创建名为Audio的模型,或者我应该将其附加到PenUp模型,就像附加图像一样的
我认为这取决于你的意图,如果PenUp应该保存图像文件和音频文件,那么你应该将音频文件附加到PenUp模型。
第二个问题:我如何能够附加音频文件并验证内容类型?
你在这里:
class PenUp < ActiveRecord::Base
...
has_attached_file :audio
validates :audio, presence: true
validates_attachment_content_type :audio, :content_type => [ 'audio/mpeg', 'audio/x-mpeg', 'audio/mp3', 'audio/x-mp3', 'audio/mpeg3', 'audio/x-mpeg3', 'audio/mpg', 'audio/x-mpg', 'audio/x-mpegaudio' ]
end
根据您想要的音频文件格式,您可以在content_type
阵列上添加更多内容或删除内容类型。