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

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

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

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

MySQL

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

Ruby on Rails

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

解決済

2回答

1512閲覧

データ保存の際のpermitted falseを解決したい

退会済みユーザー

退会済みユーザー

総合スコア0

Ruby

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

MySQL

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

Ruby on Rails

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

0クリップ

投稿2021/08/07 05:09

編集2021/08/10 04:58

前提・実現したいこと

contentをDBに保存する際に、送信ボタンを押してもDBに保存されない状況です。

発生している問題・エラーメッセージ

controller

1エラーメッセージ 2 7: def create 3 => 8: binding.pry 4 9: @maker = Maker.new(maker_params) 5 10: Maker.create(maker_params) 6 11: end 7 8[1] pry(#<MakersController>)> params 9=> <ActionController::Parameters {"authenticity_token"=>"5OgPfOxkf85725B4fz0yHIWTgwjrB3NjTqPJHrLf+d51VHzAG5vzA8Nb/2rq3rstdT0HPH97PGHTPEOtVOpqVQ==", "maker"=>{"content"=>"hi"}, "commit"=>"送信", "controller"=>"makers", "action"=>"create"} permitted: false>

該当のソースコード

controller

1class MakersController < ApplicationController 2 def index 3 @makers = Maker.order("created_at DESC") 4 @maker = Maker.new 5 end 6 7 def create 8 binding.pry 9 @maker = Maker.new(maker_params) 10 Maker.create(maker_params) 11 end 12 13 private 14 15 def maker_params 16 params.require(:maker).permit(:content, :image).merge(user_id: current_user.id, category_id: categories_url) 17 end 18end

DB

1class CreateMakers < ActiveRecord::Migration[6.0] 2 def change 3 create_table :makers do |t| 4 t.text :content, null: false 5 t.references :user, foreign_key: true 6 t.references :category, foreign_key: true 7 t.timestamps 8 end 9 end 10end

routes

1Rails.application.routes.draw do 2 devise_for :users 3 root to: "categories#index" 4 5 resources :categories, only: [:index] 6 resources :makers, only: [:index, :create] 7end

views

1<div class="chat-header"> 2 <div class="left-header"> 3 <div class="header-title"> 4 <%= link_to "ORIAPP", root_path, class: "header-title" %> 5 </div> 6 </div> 7 <div class="right-herder"> 8 <div class="header-button"> 9 <%= "メーカー" %> 10 </div> 11 </div> 12</div> 13 14<div class="messages"> 15 <%= render partial: 'message', collection: @makers %> 16</div> 17 18<%= form_with model: @maker, class: 'form', local: true do |f| %> 19 <div class="form-input"> 20 <%= f.text_field :content, class: 'form-message', placeholder: 'type a message' %> 21 <label class="form-image"> 22 <span class="image-file">画像</span> 23 <%= f.file_field :image, class: 'hidden' %> 24 </label> 25 </div> 26 <%= f.submit '送信', class: 'form-submit' %> 27<% end %> 28</div>

補足情報(FW/ツールのバージョンなど)

このエラーが出る前にはparams内のcategories_urlをcategory.idと記述していたのですが、did you mean? categories_urlとエラーメッセージが出てきたので変更しました。

エラー解決のため御助言をいただけると嬉しいです。
よろしくお願いいたします。

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

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

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

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

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

asm

2021/08/07 12:37

routes.rbとformを作成している方のviewをご提示ねがいます
退会済みユーザー

退会済みユーザー

2021/08/07 13:53

routes, views追加しました。 もしよろしければおかしい点を教えていただけると助かります。 よろしくお願いいたします。
asm

2021/08/07 20:25

viewについて、ご提示されたものは登録されたmakerを表示するものかと思います。 form_with,form_for,formタグがあるファイル(一般的にはnew.html.erb)をお願いします
退会済みユーザー

退会済みユーザー

2021/08/10 05:01

viewをform_withが記述してある方に変更しました。 何かお気づきの箇所がありましたら、ご教示お願いいたします。
guest

回答2

0

ベストアンサー

カテゴリをどうやって設定するか次第です。

newページで利用者に入力させるのであれば

erb

1<%= form_with model: @maker, class: 'form', local: true do |f| %> 2 <div class="form-input"> 3 <%= f.select :category_id, Category.all.pluck :name, :id %> 4以下略

ruby

1def maker_params 2 params.require(:maker).permit(:content, :category_id, :image).merge(user_id: current_user.id) 3end

的な感じですね

もし、カテゴリごとにnewページを別URLにするのであればまた別の方法になります。

投稿2021/08/10 08:19

asm

総合スコア15147

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

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

0

おそらく validation でコケてます。
model Maker の validation , 場合によっては db/schema.rb で確認してください。
Maker.create!(maker_params) と 一時的に !付きに直して実行すると、何が問題かが表示されるのでそれでもよいかな。

投稿2021/08/08 06:06

winterboum

総合スコア23416

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

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

退会済みユーザー

退会済みユーザー

2021/08/10 05:02

winterboumさん レビューありがとうございます。 一度それを試してみます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問