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

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

ただいまの
回答率

88.78%

タグを投稿確認画面で表示したい

受付中

回答 0

投稿

  • 評価
  • クリップ 0
  • VIEW 207

otterminalk

score 0

現在投稿アプリを作っており以前にタグ機能を実装いたしました。
そこで新規投稿画面でタグを選択できるように多対多でmodelを作成いたしました。
新規投稿画面では、問題なくタグが表示されているのですが、投稿確認画面で文字列が繋がって表示されてしまい困っております。
イメージ説明
イメージ説明

以下のサイトを参考に実装していきましたが、思ったようにいきませんでした。model設計もサイトと同じです。
リンク内容
カテゴリの表示にはeach文を使用しております。

confirm.html.slim

      .microposts_item_detail
        .microposts_item_title
          | カテゴリ
        .microposts_item_contents
          - @post.categories.each do |category|
            = category.name
      .line
    = form_for :post, url: new_post_path do |f|
      = f.hidden_field :area
      = f.hidden_field :station
      = f.hidden_field :place_name
      = f.hidden_field :post_photo_cache
      = f.hidden_field :shop_name
      = f.hidden_field :street_address
      = f.hidden_field :time
      = f.hidden_field :regular_holiday
      = f.hidden_field :url
      = f.hidden_field :category_ids
      div[style="text-align: center;"]
        = f.submit "入力画面に戻る", class: "btn-back" 
    = form_for :post, url: posts_path do |f|
      = f.hidden_field :area
      = f.hidden_field :station
      = f.hidden_field :place_name
      = f.hidden_field :post_photo_cache
      = f.hidden_field :shop_name
      = f.hidden_field :street_address
      = f.hidden_field :time
      = f.hidden_field :regular_holiday
      = f.hidden_field :url
      = f.hidden_field :category_ids
      div[style="text-align: center;"]
        = f.submit "確認へ進む", class: "btn btn-square"


each文を区切ればいいと思ったのですが、それだと今後に影響してしまうと考えたので別の方法を模索しています。
また新規投稿画面では以下のコードで実装しております(一部抜粋

new.html.slim

.form-group
        = f.label :category, 'カテゴリ', class: "item-tag"
        = f.collection_check_boxes(:category_ids, Category.all, :id, :name) do |category|
          .item_tag
            = category.label do
              = category.check_box
              .item-span
                span = category.text
      div[style="text-align: center;"]
        = f.submit "確認へ進む", class: "btn-square"

投稿確認画面でも同じように表示したいです。また投稿完了した後の投稿ページでも同じように表示したいのでわかるかたがいらっしゃいましたご教示お願いします。

posts.controller.rb

class PostsController < ApplicationController
  before_action :authenticate_user!

  def index
    @post = Post.limit(4).order('created_at DESC')
  end


  def new 
    @post = Post.new
  end

  def show
  end

  def confirm
    @post = Post.new(post_params)
    return if @post.valid?
    flash.now[:alert] = '入力に不備がありました。'
    render :new
  end

  def back
    @post = Post.new(post_params)
    render :new
  end

  def create
    @post = Post.new(post_params)
    if
      @post.save
      redirect_to root_path
      flash[:notice] = "投稿が完了しました。"
    else
      render :new
    end
  end
  private

  def post_params
    params.require(:post).permit(:post_photo,
                                 :post_photo_cache,
                                 :place_name,
                                 :area,
                                 :street_address,
                                 :time,
                                 :regular_holiday,
                                 :url,
                                 :station,
                                 :shop_name,
                                 category_ids: []).merge(user_id: current_user.id)
  end
end
  • 気になる質問をクリップする

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正の依頼

  • otterminalk

    2020/06/05 18:59

    投稿確認ページでは= f.hidden_field :category_idsにて一時保存しております

    キャンセル

  • otterminalk

    2020/06/05 21:27

    わかりづらくて申し訳ないです。
    投稿確認画面で保存したタグを投稿完了後に投稿詳細画面で表示したいのですが、表示されずに困っている状態です。

    キャンセル

  • otterminalk

    2020/06/05 21:29

    投稿確認画面ではタグは表示されています。が詳細画面では表示されておらず紐付けされているのか謎ということです。category_idsから紐付けされたタグを表示するにはどのようにしたら良いのでしょうか?

    キャンセル

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

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

  • ただいまの回答率 88.78%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る