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

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

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

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

Q&A

解決済

1回答

350閲覧

Railsのviewでifのelseが実行されない

f-otake

総合スコア8

Ruby on Rails 6

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

0グッド

0クリップ

投稿2021/07/23 10:37

前提・実現したいこと

Rails(6.1.4)のviewの中でアクションによって表示を分けたいのですが、elseが実行されません。
エラーは出ていません。

該当のソースコード

RailsのView
<%= form_with(model: question) do |form| %>
中略

<div class="field"> <% if action_name = 'new' %> <%= form.hidden_field :end, {value:false} %> <% else %> <%= form.label :end %>&nbsp;&nbsp; <%= @question.end ? 'END' : 'Not Yet' %>&nbsp;&nbsp; <%= form.select :end, [['Not Yet',0],['END',1]] %> <% end %> </div> コントローラーのnew以外ではelseの部分の実行をさせたいのですが、editで飛んで来ても、必ずtrue側が実行されてしまいます。

試したこと

logにはエラーがありません

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

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

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

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

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

guest

回答1

0

ベストアンサー

action_name = 'new'代入です。

「ローカル変数のaction_name'new'を代入して、その結果(常に'new')を条件に分岐する」という動作になってしまっています。

投稿2021/07/23 10:53

maisumakun

総合スコア146018

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

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

f-otake

2021/07/24 06:29 編集

全く初歩的なミスですね。簡単な事が見えなくなっていました。 action_name =='new' に変更し無事解決致しました。 有難うございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問