编辑:正如@Justin说的那样,当我试图找到一个甚至没有意识到的解决方案时,我可能搞砸了,oopsy ......将params更改为params.require(:pin).permit(:image,:description)确实解决了它.
虽然它现在不起作用,因为我得到一个"有一个与其内容不匹配的扩展名.
我正在关注一个月的Rails并尝试将上传图片放入脚手架工作中.我正在使用paperclip文件和simple_form.这是我认为相关的代码(随意提出要求):
_pin_form.erb.html
<%= simple_form_for(@pin, :html => {:multipart => true}) do |f| %>
<%= f.error_notification %>
<div class="form-inputs">
<%= f.file_field :image, :label => "Upload an image" %>
<%= f.input :description, as: :text %>
</div>
<div class="form-actions">
<%= f.button :submit %>
</div>
Run Code Online (Sandbox Code Playgroud)
pin.rb
class Pin < ActiveRecord::Base
has_attached_file :image
belongs_to :user
validates :description, :presence => true
validates :user_id, :presence => true
validates_attachment :image, :presence => true
# Validate content type
validates_attachment_content_type :image, :content_type => /\Aimage/
# Validate filename …Run Code Online (Sandbox Code Playgroud) 对不起,但我无法找到适合我情况的解决方案
我有下一个代码:
class Document < ActiveRecord::Base
has_attached_file :item,
content_type: { content_type: ["image/jpeg", "image/gif", "document/pdf"] }
end
Run Code Online (Sandbox Code Playgroud)
的Gemfile:
source 'https://rubygems.org'
# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
gem 'rails', '4.2.1'
# Use sqlite3 as the database for Active Record
gem 'sqlite3'
# Use SCSS for stylesheets
gem 'sass-rails', '~> 5.0'
# Use Uglifier as compressor for JavaScript assets
gem 'uglifier', '>= 1.3.0'
# Use CoffeeScript for .coffee assets and views
gem 'coffee-rails', '~> 4.1.0'
# See https://github.com/rails/execjs#readme for more …Run Code Online (Sandbox Code Playgroud)