前提・実現したいこと
商品出品機能の実装を完成させたい。テーブルに保存できるようにしたい。
ここに質問の内容を詳しく書いてください。
商品説明だけが入力できずにいるのですが、何が原因なのか特定願います。
発生している問題・エラーメッセージ
furimaの商品出品機能で実装はある程度完成してきたが、どうしてか商品説明の部分だけ入力されず、空のエラーメッセージが出力されます。viewに問題があるとしか考えられず、実装に行き詰まっています。
該当のソースコード
app/controllers/items_controller.rb class ItemsController < ApplicationController before_action :authenticate_user!, only: :new def index @items = Item.all end def new @item = Item.new end def create @item = Item.new(item_params) if @item.valid? @item.save redirect_to root_path else render :new end end private def item_params params.require(:item).permit(:name, :introduction, :price, :item_condition_id, :postage_id, :prefecture_id, :prepare_id, :category_id, :image).merge(user_id: current_user.id) end end
app/models/item.rb class Item < ApplicationRecord belongs_to :user has_one :purchase_history has_one_attached :image extend ActiveHash::Associations::ActiveRecordExtensions belongs_to_active_hash :prefecture belongs_to_active_hash :prepare belongs_to_active_hash :postage belongs_to_active_hash :item_condition belongs_to_active_hash :category with_options presence: true do validates :image validates :name validates :introduction validates :price end validates :price, numericality: { greater_than_or_equal_to: 300, less_than_or_equal_to: 9999999, message: "Out of setting range"} validates :price, numericality: { only_integer: true, message: "Half-width number." } validates :item_condition_id, numericality: { other_than: 0, message: "Select" } validates :postage_id, numericality: { other_than: 0, message: "Select" } validates :prefecture_id, numericality: { other_than: 0, message: "Select" } validates :prepare_id, numericality: { other_than: 0, message: "Select" } validates :category_id, numericality: { other_than: 0, message: "Select" } end
app/views/items/new.html.erb <div class="items-sell-contents"> <header class="items-sell-header"> <%= link_to image_tag('furima-logo-color.png' , size: '185x50'), "/" %> </header> <div class="items-sell-main"> <h2 class="items-sell-title">商品の情報を入力</h2> <%= form_with model: @item, url: items_path, local: true do |f| %> <%# インスタンスを渡して、エラー発生時にメッセージが表示されるようにしましょう。%> <%= render 'shared/error_messages', model: f.object %> <%# //インスタンスを渡して、エラー発生時にメッセージが表示されるようにしましょう。%> <%# 出品画像 %> <div class="img-upload"> <div class="weight-bold-text"> 出品画像 <span class="indispensable">必須</span> </div> <div class="click-upload"> <p> クリックしてファイルをアップロード </p> <%= f.file_field :image, id:"item-image" %> </div> </div> <%# /出品画像 %> <%# 商品名と商品説明 %> <div class="new-items"> <div class="weight-bold-text"> 商品名 <span class="indispensable">必須</span> </div> <%= f.text_area :name, class:"items-text", id:"item-name", placeholder:"商品名(必須 40文字まで)", maxlength:"40" %> <div class="items-explain"> <div class="weight-bold-text"> 商品の説明 <span class="indispensable">必須</span> </div> <%= f.text_area :inroduction, class:"items-text", id:"item-info", placeholder:"商品の説明(必須 1,000文字まで)(色、素材、重さ、定価、注意点など)例)2010年頃に1万円で購入したジャケットです。ライトグレーで傷はありません。あわせやすいのでおすすめです。" ,rows:"7" ,maxlength:"1000" %> </div> </div> <%# /商品名と商品説明 %> <%# 商品の詳細 %> <div class="items-detail"> <div class="weight-bold-text">商品の詳細</div> <div class="form"> <div class="weight-bold-text"> カテゴリー <span class="indispensable">必須</span> </div> <%= f.collection_select :category_id, Category.all, :id, :name, {}, {class:"select-box", id:"item-category"} %> <div class="weight-bold-text"> 商品の状態 <span class="indispensable">必須</span> </div> <%= f.collection_select :item_condition_id, ItemCondition.all, :id, :name, {}, {class:"select-box", id:"item-condition"} %> </div> </div> <%# /商品の詳細 %> <%# 配送について %> <div class="items-detail"> <div class="weight-bold-text question-text"> <span>配送について</span> <a class="question" href="#">?</a> </div> <div class="form"> <div class="weight-bold-text"> 配送料の負担 <span class="indispensable">必須</span> </div> <%= f.collection_select :postage_id, Postage.all, :id, :name, {}, {class:"select-box", id:"item-postage"} %> <div class="weight-bold-text"> 発送元の地域 <span class="indispensable">必須</span> </div> <%= f.collection_select :prefecture_id, Prefecture.all, :id, :name, {}, {class:"select-box", id:"item-prefecture"} %> <div class="weight-bold-text"> 発送までの日数 <span class="indispensable">必須</span> </div> <%= f.collection_select :prepare_id, Prepare.all, :id, :name, {}, {class:"select-box", id:"item-prepare"} %> </div> </div> <%# /配送について %> <%# 販売価格 %> <div class="sell-price"> <div class="weight-bold-text question-text"> <span>販売価格<br>(¥300〜9,999,999)</span> <a class="question" href="#">?</a> </div> <div> <div class="price-content"> <div class="price-text"> <span>価格</span> <span class="indispensable">必須</span> </div> <span class="sell-yen">¥</span> <%= f.text_field :price, class:"price-input", id:"item-price", placeholder:"半角数字で入力" %> </div> <div class="price-content"> <span>販売手数料 (10%)</span> <span> <span id='add-tax-price'></span>円 </span> </div> <div class="price-content"> <span>販売利益</span> <span> <span id='profit'></span>円 </div> </span> </div> </div> <%# /販売価格 %> <%# 注意書き %> <div class="caution"> <p class="sentence"> <a href="#">禁止されている出品、</a> <a href="#">行為</a> を必ずご確認ください。 </p> <p class="sentence"> またブランド品でシリアルナンバー等がある場合はご記載ください。 <a href="#">偽ブランドの販売</a> は犯罪であり処罰される可能性があります。 </p> <p class="sentence"> また、出品をもちまして <a href="#">加盟店規約</a> に同意したことになります。 </p> </div> <%# /注意書き %> <%# 下部ボタン %> <div class="sell-btn-contents"> <%= f.submit "出品する", class:"sell-btn" %> <%=link_to 'もどる', root_path, class:"back-btn" %> </div> <%# /下部ボタン %> </div> <% end %> <footer class="items-sell-footer"> <ul class="menu"> <li><a href="#">プライバシーポリシー</a></li> <li><a href="#">フリマ利用規約</a></li> <li><a href="#">特定商取引に関する表記</a></li> </ul> <%= link_to image_tag('furima-logo-color.png' , size: '185x50'), "/" %> <p class="inc"> ©︎Furima,Inc. </p> </footer> </div>
試したこと
<%= f.text_area :inroduction, class:"items-text", id:"item-info",・・・の部分が怪しかったのでidの部分をいろいろ変えて試してみた。
ここに問題に対して試したことを記載してください。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/12/08 00:03
2020/12/08 00:35