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

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

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

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

Ruby on Rails

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

文字コード

文字コードとは、文字や記号をコンピュータ上で使用するために用いられるバイト表現を指します。

コードレビュー

コードレビューは、ソフトウェア開発の一工程で、 ソースコードの検査を行い、開発工程で見過ごされた誤りを検出する事で、 ソフトウェア品質を高めるためのものです。

Q&A

1回答

988閲覧

投稿機能で空欄のところに -を表示したい

退会済みユーザー

退会済みユーザー

総合スコア0

Ruby

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

Ruby on Rails

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

文字コード

文字コードとは、文字や記号をコンピュータ上で使用するために用いられるバイト表現を指します。

コードレビュー

コードレビューは、ソフトウェア開発の一工程で、 ソースコードの検査を行い、開発工程で見過ごされた誤りを検出する事で、 ソフトウェア品質を高めるためのものです。

0グッド

0クリップ

投稿2020/06/14 08:24

現在投稿機能を実装しておりそれを表示させるところまでいきました。
そこで空文字のところに '-'を表示させたいのですがうまくいきません。
どなたかご教示お願いいたします

表示することにはするのですが要素が増えておかしくなってしまいます。画像添付

show.html.slim .microposts_item_detail .microposts_item_title | 店名 .microposts_item_contents a.micropost_item_place_link href='/' target='_blank' = if @post.shop_name.empty? =@post,shop_name else | -

一応関係ありそうなコードを載せておきます。

show.html.slim .contents .microposts .microposts_main .microposts_mainview .microposts_mainview_top .maicro = image_tag @post.post_photo.url .microposts_mainview_icon.flex .item_icon.twitter i.fab.fa-twitter .item_icon.facebook i.fab.fa-facebook .item_icon.mappin i.fas.fa-map-pin .microposts_mainview_info .microposts_mainview_name = @post.area .microposts_mainview_good.inline i.far.fa-thumbs-up | 150 行きたい! .microposts_mainview_comments.inline i.far.fa-comment | 10 .microposts_mainview_pin.inline i.far.fa-thumbtack | 5 .microposts_mainview_station i.far.fa-map-marker-alt = @post.station .microposts_mainview_hours i.far.fa-clock = @post.time .microposts_mainview_tag - @post.categories.each do |category| .item_tag .item-span span = category.name .microposts_item .microposts_item_header p | 口コミ a.btn_main href='/' | 投稿する .reviews .reviews_item .reviews_item_img a href='/' a.reviews_item_info .reviews_item_title | 以外に穴場です .reviews_item_comments | 雪が降っている際に行くと尚良し .reviews_item_date |2020.05.05 .microposts_item .microposts_item_header p | 基本情報 a.btn_main href='/' | 編集リクエストを送る .microposts_item_detail .microposts_item_title | 店名 .microposts_item_contents a.micropost_item_place_link href='/' target='_blank' = if @post.shop_name.empty? | - else = @post.shop_name .line .microposts_item_detail .microposts_item_title | 住所 .microposts_item_contents a.micropost_item_place_link href='/' target='_blank' = @post.street_address .line .microposts_item_detail .microposts_item_title | 営業時間 .microposts_item_contents = @post.time .line .microposts_item_detail .microposts_item_title | URL .microposts_item_contents = @post.url .line .microposts_item_detail .microposts_item_title | 定休日 .microposts_item_contents = @post.regular_holiday .line .microposts_item_detail .microposts_item_title | 特徴 .microposts_item_contents - @post.categories.each do |category| .item_tag .item-span span = category.name .line = render 'posts/shared/side_bar'
post.controller.rb before_action :authenticate_user! def index @post = Post.limit(4).order('created_at DESC') end def show @post = Post.find(params[:id]) @posts = Post.limit(3).order('created_at DESC') end def new @post = Post.new end def create @post = Post.new(post_params) @post.category_ids = session[:category_ids] if @post.save redirect_to @post flash[:notice] = "投稿が完了しました。" else render :new end end def confirm @post = Post.new(post_params) session[:category_ids] = @post.category_ids return if @post.valid? flash.now[:alert] = '入力に不備がありました。' render :new end def back @post = Post.new(post_params) render :new 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

emptyの時の表示

イメージ説明

値がある時の表示↓
イメージ説明

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

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

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

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

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

guest

回答1

0

`
= if @post.shop_name.empty?
=@post,shop_name

else
`
の意図は、
@post.shop_name.empty? だったら @post.shop_name を
そうでなかったら "-"を表示する
ですか?
empty?でなく present?の気がしますが
```
  • if @post.shop_name.present?
    =@post.shop_name
  • else
でどうでしょう `= @post.shop_name || '-'` の方がすっきりかな

投稿2020/06/14 13:16

winterboum

総合スコア23567

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

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

退会済みユーザー

退会済みユーザー

2020/06/20 09:04

いただいた回答で記述したところ、空欄のままでした。 調べたところ値がnilではなく空白が入っていたので空白がそのまま表示されていると思います。 そういった場合には投稿を作成する際に空欄だった場合に-を代入するのが吉なのでしょうか? またそういったことこであったら 投稿作成⇨投稿確認⇨投稿完了 という仕様だった場合 投稿確認ページで=を入れるべきでしょうか?
winterboum

2020/06/20 10:22

ああ、そうか。= @post.shop_name || '-' の方でやりました? koredato"" はnilでないから空白を出してしまいますね。 - if @post.shop_name.present? のほうでやってみてください
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

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

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

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問