I verwendet wurde Schienen gem carrierwave
Test mehrere BilderRails carrierwave mehrere Datei-Upload-Encoding :: UndefinedConversionError in ArticlesController # erstellen
unten ist, ich bin Schritt für Schritt
rails new TestUploadImages
rails g Article title:string body:text
rails generate uploader Avatar
rails g migration add_avatar_to_users avatar:string rake db:migrate
Config Article model uploader
class Article < ApplicationRecord
mount_uploader :avatar, AvatarUploader
end
Config _form.html.erb
für erstellen Artikel mit Bild
<%= form_for @article, html: {multipart: true} do |f| %>
<p>
<%= f.label :title %>
<%= f.text_field :title %>
</p>
<p>
<%= f.file_field :avatars%>
</p>
<p>
<%= f.label :body %>
<%= f.text_area :body %>
</p>
<p>
<%= f.submit %>
</p>
<% end %>
article_controller
class ArticlesController < ApplicationController
def new
@article = Article.new
end
def create
@article = Article.new(article_params)
@article.save
render "show"
end
def show
@article = Article.find(params[:id])
end
private
def article_params
params.require(:article).permit(:title, :body, :avatar)
end
end
hier über ein Bild erstellen haben könnte w ith Artikel
unten ist versuchen, mehrere Bilder erstellen- Änderung
article
Tabelleavatar
Spalte mitavatars
Änderung _form.html.erb
<p>
<%= f.file_field :avatars, multiple: true%>
</p>
weil mein verwendet Test db sqlite3 ist so, Referenzen aus cariierwave
class Article < ApplicationRecord
mount_uploader :avatar, AvatarUploader
serialize :avatars, JSON
end
Änderung articles_controller starke Parameter
def article_params
params.require(:article).permit(:title, :body, {avatars: []})
end
jetzt sollten mehrere Bilder
erstellen, wenn ich diesen Fehler gefundene bin versucht