Изменить:, как сказал @Justin, я, вероятно, испортил это, пытаясь найти решение, даже не осознавая, oopsy... Изменение параметров paramsrequire (: pin).permit(: image,: description). Хотя это не работает сейчас, потому что я получаю "имеет расширение, которое не соответствует его содержимому.
Я следую Rails One Month и пытаюсь загрузить изображение в рабочие леса. Я использую 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>
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
validates_attachment_file_name :image, :matches => [/png\Z/, /jpe?g\Z/]
# Explicitly do not validate
do_not_validate_attachment_file_type :image
end
pin_params от pins_controller.rb
def pin_params
params.permit(:description, :image)
end
(большинство из них - это когда я пытался устранить неполадки с помощью paperclip README). Всякий раз, когда я загружаю файл, я получаю сообщение об ошибке
ActionController::ParameterMissing in PinsController#create
param not found: image
и если я попытаюсь использовать params.require для чего-то, я получаю сообщение об ошибке, в котором параметр param не найден.
Я понятия не имею, что это вызывает. Если я удалю метод pin_params, поля формы просто вернутся "не могут быть пустыми" независимо от того, что в них "
Это кажется простым, но я просто не могу найти решение для этого