0

私はこれに数日間取り組んでおり、あちこちを検索して、何とか私の目的に近づけました。

アプリケーションで複数の画像をアップロードしようとしています。

ムービー.rb

class Movie < ActiveRecord::Base
  attr_accessible :title, :notes, :link, :screenshots_attributes
  has_many :comments, :as => :commentable
  has_many :screenshots
  accepts_nested_attributes_for :screenshots, allow_destroy: true
  belongs_to :cast
end

Screentshot.rb

class Screenshot < ActiveRecord::Base
  attr_accessible :image, :movie_id
  belongs_to :movie
  mount_uploader :image, ImageUploader
end

Movie_controller.rb

  def create
    @movie = Movie.new(params[:movie])
    @cast = Cast.find(params[:cast_id])
    if @release.save
      redirect_to cast_movie_path(params[:cast_id], @movie), notice: "#{t 'movie.created'}"
    else
      render action: "new"
    end
  end

_form.html.rb (動画)

  <%= form_for [@cast, @movie], :id => 'fileupload' do |f| %>
    <%= f.text_field :movie %></div><%= t 'movie.title' %><br />

    <%= f.fields_for :screenshots do |s| %>
      <%= s.file_field :image, multiple: true %><%= t 'movie.screenshots' %><br />
    <% end %>

    <%= f.text_area :notes %></div><%= t 'movie.notes' %></div><br />

    <div class="actions">
    <%= f.submit "#{ t 'general.submit'}", :class => "btn"%>
    </div>
  <% end %>

フォームを送信すると、1 つの画像のみがアップロードされますが、「params.to_yaml を発生させる」(デバッグ目的で) と、NoMethodError が発生します。

undefined method `name' for nil:NilClass 

およびリクエストパラメータhttp://pastebin.com/4iZ​​vtnED

4

0 に答える 0