Я получаю эту ошибку, когда пытаюсь загрузить с помощью скрепки с моим приложением для блогов rails. Не уверен, на что он ссылается, когда говорит «MissingRequiredValidatorError». Я подумал, что, обновив post_params и предоставив его: image, все будет в порядке, так как для создания и обновления используется post_params.
Paperclip::Errors::MissingRequiredValidatorError in PostsController#create
Paperclip::Errors::MissingRequiredValidatorError
Extracted source (around line #30):
def create
@post = Post.new(post_params)
Это мой posts_controller.rb
def update
@post = Post.find(params[:id])
if @post.update(post_params)
redirect_to action: :show, id: @post.id
else
render 'edit'
end
end
def new
@post = Post.new
end
def create
@post = Post.new(post_params)
if @post.save
redirect_to action: :show, id: @post.id
else
render 'new'
end
end
#...
private
def post_params
params.require(:post).permit(:title, :text, :image)
end
и это мой пост помощник
module PostsHelper
def post_params
params.require(:post).permit(:title, :body, :tag_list, :image)
end
end
Пожалуйста, дайте мне знать, могу ли я добавить дополнительный материал, чтобы помочь вам помочь мне.
validates_attachment :image, presence: true, content_type: { content_type: ["image/jpg", "image/jpeg", "image/png"] }
presence: true
проверка не является обязательной, поэтому я исключил эту часть.do_not_validate_attachment_file_type
. Как говорит Rdocs: благодаря отчету Егора Хомакова мы предприняли шаги, чтобы предотвратить подделку людьми типов контента и получение данных, которые вы не ожидали, на ваш сервер.Просто вставьте свою модель:
https://github.com/thoughtbot/paperclip
источник
Необходимо добавить validates_attachment_content_type в Model
Рельсы 3
Рельсы 4
источник
Убедитесь, что ваша почтовая модель выглядит так ...
источник
Я не мог заставить ни одно из этих решений работать. Я попробовал Paperclip 3.1, но не смог тогда, чтобы мое приложение продолжало сообщать мне, что мои расширения файлов изображений не были одобрены, даже если они были в формате jpg.
Я наконец-то добился успеха с версией 3.5.1.
источник