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

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

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

POSTはHTTPプロトコルのリクエストメソッドです。ファイルをアップロードしたときや入力フォームが送信されたときなど、クライアントがデータをサーバに送る際に利用されます。

Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

Ruby on Rails

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

パス

パス(path)はファイルシステムの場所(階層)を明示したものです。

HTML

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

Q&A

0回答

1261閲覧

Rails form_with 登録ができない

pipiyoyo

総合スコア2

POST

POSTはHTTPプロトコルのリクエストメソッドです。ファイルをアップロードしたときや入力フォームが送信されたときなど、クライアントがデータをサーバに送る際に利用されます。

Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

Ruby on Rails

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

パス

パス(path)はファイルシステムの場所(階層)を明示したものです。

HTML

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

0グッド

0クリップ

投稿2020/06/13 23:14

前提・実現したいこと

RailsでECサイトを作っております。
管理者(admin)のitems/new.html.erbでform_withを使い商品登録を実装しようとしましたが送信はされているのですがDBに反映されておらず、思った挙動をしてくれません。

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

f.submitのボタンを押しても反応せず、コンソールでItem.allをしても反映されていない。

該当のソースコード

admin/items_controller

class Admin::ItemsController < ApplicationController def new @item = Item.new end def show @item = Item.find(params[:id]) end def create @item = Item.new(item_params) if @item.save redirect_to admin_item_path(@item.id) else render :new end end def index end private def item_params params.require(:item).permit(:genre_id,:name,:introduction,:price,:image,:is_sale) end end

admin/items/new.html.erb

<html> <head> <meta charset="UTF-8"> </head> <body> <div class="container"> <h1>商品新規登録</h1> <div class="row"> <%= form_with model: [:admin, @item], url: admin_items_path, method: :post, local: true do |f| %> <div class="col-sm-4"> <%= f.attachment_field :image, placefolder: "商品画像" %> </div> <div class="col-sm-4"> <p><strong>商品名</strong> <%= f.text_field :name %></p> <p><strong>商品説明文</strong> <%= f.text_area :introduction %></p> <p><strong>ジャンル</strong> <%= f.collection_select :genre_id, Genre.all, :id, :name, :prompt => "選択してください" %></p> <p><strong>税抜き価格</strong> <%= f.text_field :price %>円</p> <p><strong>販売ステータス</strong> <%= f.select :is_sale, [['無効',0], ['有効',1]], :prompt => "選択してください" %></p> </div> <div class="col-sm-4"> <%= f.submit '新規登録', class: "btn btn-default btn-pink" %> </div> <% end %> </div> </div> </body> </html>

item.rb

class Item < ApplicationRecord with_options presence: true do validates :name validates :introduction validates :price validates :image_id end belongs_to :genre attachment :image end

試したこと

form_withのパスの指定が違っていたかもと思い確認したが、
admin_items GET /admin/items(.:format) admin/items#index
POST /admin/items(.:format) admin/items#create

となっていたので正しいと思った

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

ここにより詳細な情報を記載してください。

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

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

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

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

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

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問