如何强制用户在rails中附加文件(file_field不能为空)
How to force user to attach file (file_field can not be blank) in rails
我正在使用 rails 创建一个播客网站。当用户将新剧集上传到 his/her 帐户时,我希望他们必须上传播客(mp3 文件)和该播客的缩略图 (jpeg/png)。
问题是当我尝试在 SQLite 中为 mp3 和缩略图创建列时,它不会让我有一个初始值为空的 "not null" 列。
我不想要默认非空值,我想强制他们在上传新剧集时附加文件。
我正在使用回形针为附件列生成迁移 "rails g paperclip user attachment"
这是缩略图的迁移文件,我有另一个类似的 MP3 文件。
class AddAttachmentThumbnailToEpisodes < ActiveRecord::Migration
def self.up
change_table :episodes do |t|
t.attachment :thumbnail, null: false
end
end
def self.down
remove_attachment :episodes, :thumbnail
end
end
它不会让我rake db:migrate
这个
你可以用两种方式处理它
#1
在模型中进行验证
validates :attachment, presence: true
或
#2
可以用required: true
选项的形式处理
<%= f.file_field :attachment, required: true %>
我正在使用 rails 创建一个播客网站。当用户将新剧集上传到 his/her 帐户时,我希望他们必须上传播客(mp3 文件)和该播客的缩略图 (jpeg/png)。
问题是当我尝试在 SQLite 中为 mp3 和缩略图创建列时,它不会让我有一个初始值为空的 "not null" 列。
我不想要默认非空值,我想强制他们在上传新剧集时附加文件。
我正在使用回形针为附件列生成迁移 "rails g paperclip user attachment"
这是缩略图的迁移文件,我有另一个类似的 MP3 文件。
class AddAttachmentThumbnailToEpisodes < ActiveRecord::Migration
def self.up
change_table :episodes do |t|
t.attachment :thumbnail, null: false
end
end
def self.down
remove_attachment :episodes, :thumbnail
end
end
它不会让我rake db:migrate
这个
你可以用两种方式处理它
#1
在模型中进行验证
validates :attachment, presence: true
或
#2
可以用required: true
选项的形式处理
<%= f.file_field :attachment, required: true %>