動画、画像投稿機能実装中で[ファイル選択]を一つにまとめたい。
<%= 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
あなたの回答
tips
プレビュー