前提・実現したいこと
railsを用いて作成したアプリ上でユーザーが投稿したmp3ファイルを再生したいです。
対象のmp3はActive Storageを用いて保存しています。
発生している問題・エラーメッセージ
Sprockets::Rails::Helper::AssetNotFound in Tweets#index Showing /Users/tatsu/projects/mupician/app/views/tweets/_tweet.html.erb where line #18 raised: The asset "" is not present in the asset pipeline.
該当のソースコード
view
1<div class="content_post" style="background-image: url(<%= tweet.image %>);"> 2 <div class="more"> 3 <span><%= image_tag 'arrow_top.png' %></span> 4 <ul class="more_list"> 5 <li> 6 <%= link_to '詳細', tweet_path(tweet.id), method: :get %> 7 </li> 8 <% if user_signed_in? && current_user.id == tweet.user_id %> 9 <li> 10 <%= link_to '編集', edit_tweet_path(tweet.id), method: :get %> 11 </li> 12 <li> 13 <%= link_to '削除', tweet_path(tweet.id), method: :delete %> 14 </li> 15 <% end %> 16 </ul> 17 </div> 18 <p><%= tweet.musician%> <%= tweet.music%> <%= tweet.text %> <%= tweet.audio.inspect %></p> 19 20 21 <span class="name"> 22 <a href="/users/<%= tweet.user.id %>"> 23 <span>投稿者</span><%= tweet.user.nickname %> 24 </a> 25 </span> 26</div>
tweetmodel
1class Tweet < ApplicationRecord 2 belongs_to :user 3 has_many :comments 4 has_one_attached :audio 5 with_options presence: true do 6 validates :text 7 validates :musician 8 validates :music 9 validates :image 10 validates :audio 11 end 12end
form
1<%= form_with(model: tweet, local: true) do |form| %> 2 <%= form.text_field :image, placeholder: "Image Url" %> 3 <div>曲</div> 4 <%= form.file_field :audio %> 5 <%= form.text_area :musician, placeholder: "musician"%> 6 <%= form.text_area :music, placeholder: "music"%> 7 <%= form.text_area :text, placeholder: "text", rows: "10" %> 8 <%= form.submit "SEND" %> 9 <% end %>
試したこと
sequel proを確認したところmp3の保存はできていました。
audiojs-railsも導入ずみです
補足情報(FW/ツールのバージョンなど)
HTML5 Rails 6.0.3.4を使用しています
回答1件
あなたの回答
tips
プレビュー