th_9plus
@th_9plus (たかちゃん)

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

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"} %>

と書いてしまうと引数が多くなる為エラーが出てしまいます。
一つにまとめる書き方があれば教えて頂きたいです。

スクリーンショット 2020-11-24 13.50.40.png

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

No Answers yet.

Your answer might help someone💌