質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails

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

データベース設計

データベース設計はデータベースの論理的や物理的な部分を特定する工程です。

保存

保存(save)とは、特定のファイルを、ハードディスク等の外部記憶装置に記録する行為を指します。

Active Record

Active Recordは、一つのオブジェクトに対しドメインのロジックとストレージの抽象性を結合するデザインパターンです。

Q&A

解決済

1回答

825閲覧

Rails DBに保存されない

退会済みユーザー

退会済みユーザー

総合スコア0

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails

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

データベース設計

データベース設計はデータベースの論理的や物理的な部分を特定する工程です。

保存

保存(save)とは、特定のファイルを、ハードディスク等の外部記憶装置に記録する行為を指します。

Active Record

Active Recordは、一つのオブジェクトに対しドメインのロジックとストレージの抽象性を結合するデザインパターンです。

0グッド

0クリップ

投稿2020/03/19 09:32

#新規投稿をしようとしたところ保存に失敗します。
(0.2ms) BEGIN
↳ app/controllers/tweets_controller.rb:11
User Load (0.3ms) SELECT users.* FROM users WHERE users.id = 1 LIMIT 1
↳ app/controllers/tweets_controller.rb:11
(1.1ms) ROLLBACK
↳ app/controllers/tweets_controller.rb:11
新規投稿をしようとするとターミナル上では以下のようなものが表示されます。

#routes.rb Rails.application.routes.draw do devise_for :users get 'tweets/index' root "tweets#index" resources :tweets, only: [:index, :show, :new, :create, :destroy, :edit, :update] resources :users ,only: :show end #tweetsController class TweetsController < ApplicationController def index @tweets = Tweet.all end def new @tweet = Tweet.new end def create @tweet = Tweet.new(tweet_params) @tweet.save # render 'index' # else # render 'new' # end # 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.permit(:image, :text).merge(user_id: current_user.id) end end #ビューファイル .wrapper = render "header" .contents.row .container = form_for @tweet do |form| %h3.btn 投稿する -# = form.text_field :title, placeholder: "タイトル" = form.file_field :image, placeholder: "Image Url" -# = form.label :image, class: 'input_box_image' do -# -# = fa_icon 'image', class: 'icon' = form.text_area :text, placeholder: "text", rows: "10" = form.submit "SEND" #user.rb class User < ApplicationRecord # Include default devise modules. Others available are: # :confirmable, :lockable, :timeoutable, :trackable and :omniauthable devise :database_authenticatable, :registerable, :recoverable, :rememberable, :validatable validates :name, presence: true #追記 validates :profile, length: { maximum: 200 } #追記 has_many :tweets end #tweet.rb class Tweet < ApplicationRecord # belongs_to :user # has_many :tweets validates :image,:text, 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

原因が不明です。DBに保存もされていませんし、一覧にも表示されません。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

すみません、params.permit(:image, :text).merge(user_id: current_user.id)をparams.require(:tweet).permit(:name,:image, :text).merge(user_id: current_user.id)に直したら表示も保存もできました

投稿2020/03/19 10:02

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問