質問編集履歴

1

dogdog2525

dogdog2525 score 14

2020/03/19 01:03  投稿

Rails 投稿内容が反映されない
Railsで画像の新規投稿を行いたいのですが、投稿した画像が反映されません。
```ここに言語を入力
#route.rb
Rails.application.routes.draw do
 devise_for :users
 get 'tweets/index'
 root "tweets#index"
 resources :users ,only: :show
 resources :tweets
 #  collection do
 #  get 'search'
 #  end
 # end
 
end
#tweets_controller
class TweetsController < ApplicationController
 
 def index
   @tweets = Tweet.all
 end
 def new
   @tweet = Tweet.new
 end
 def create
   Tweet.create(tweet_params)
 end
 def destroy
   tweet = Tweet.find(params[:id])
   tweet.destroy
 end
 def edit
   @tweet = Tweet.find(params[:id])
 end
 def update
   tweet = Tweet.find(params[:id])
   tweet.update(tweet_params)
 end
 def show
   @tweet = Tweet.find(params[:id])
 end
 
 
 private
 def tweet_params
   params.require(:tweet).permit(:image,:text)
 end
 
 
end
#tweet.rb
class Tweet < ApplicationRecord
 # belongs_to :user
 # has_many :tweets
 validates :image, presence: true
 mount_uploader :image, ImageUploader
 belongs_to :user
 def self.search(search)
   if search
     Tweet.where('text LIKE(?)', "%#{search}%")
   else
     Tweet.all
   end
 end
end
ビューファイル
.main
 .mainindex
   - @tweets.each do |tweet|
     .content{:style => "background-image: url(#{tweet.image});"}
       -# = link_to("/tweets/#{tweet.id}", method: :get) do
       -#  =tweet.title
       = link_to asset_url("/tweets/#{tweet.id}", method: :get) do
         -# = image_tag "/tweets/#{tweet.id}", method: :get
       .mainname
         .mainnameleft
           =current_user.name
         .mainnameright
           = tweet.updated_at.strftime("%Y-%m-%d %H:%M")
投稿してもデータベースにデータが反映されていなかったのでおそらく、モデルかコントローラーでエラーが起きているのではないかと思いますが原因がわかりません。
投稿してもデータベースにデータが反映されていなかったのでおそらく、モデルかコントローラーでエラーが起きているのではないかと思いますが原因がわかりません。直接データベースに値を入れたら正常に表示はされましたのでおそらくモデルなのかなと思います。
```
  • MySQL

    10685 questions

    MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

  • Ruby on Rails

    17032 questions

    Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

  • RubyGems

    482 questions

    RubyGemsはRubyによるプログラミングのためのパッケージマネジメントツールです。ユーザはこれを使用することで、Rubyライブラリのダウンロードやアップデートや、依存関係の自動解決が可能になります。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る