ruby on rails 画像、動画投稿機能実装 [ファイル選択]を一つにまとめたい
動画、画像投稿機能実装中で[ファイル選択]を一つにまとめたい。
<%= f.file_field :picture %>
<%= f.file_field :video , {:accept => 'video/*',class: "field-video"} %>
この様に2つ書いてしまうと画像の様に当然2つになってしまいます。[ファイル選択]を一つにまとめたいのですが
<%= f.file_field :video , :picture, {:accept => 'video/*',class: "field-video"} %>
と書いてしまうと引数が多くなる為エラーが出てしまいます。
一つにまとめる書き方があれば教えて頂きたいです。
posts/new.html.erb
<div class="main posts-new">
<div class="container">
<h1 class="form-heading">投稿する</h1>
<%= form_for(@post, url: {controller: "posts", action: "create" }) do |f| %>
<div class="form">
<div class="from-body">
<% @post.errors.full_messages.each do |message| %>
<div class="form-error">
<%= message %>
</div>
<% end %>
<textarea name="content"><%= @post.content %></textarea>
<%= f.file_field :picture %>
<%= f.file_field :video , {:accept => 'video/*',class: "field-video"} %>
</div>
<%= f.submit "送信" %>
</div>
</div>
<% end %>
</div>
posts_controller.rb
def create
@post = Post.new(
content: params[:content],
user_id: @current_user.id,
)
if params[:post].present?
@post.video = params[:post][:video]
end
if params[:picture].present?
@post.picture = params[:post][:picture]
end
if @post.save
flash[:notice] = "投稿を作成しました"
redirect_to("/posts/index")
else
render("posts/new")
end
end
0