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

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

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

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

Q&A

1回答

388閲覧

最近のRailsでは標準のaction(showとか)は準備されている?

winterboum

総合スコア23416

Ruby on Rails

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

0グッド

1クリップ

投稿2020/08/25 23:56

編集2020/08/31 00:31

おかしな現象に見舞われました。
controllerにshow action 定義なしで 「The action 'show' could not be found」になりません。 viewの方で @userがnilで怒られましたが。
試したのはshowだけ。 
独自に定義したactionは名前変えると 「The action '***' could not be found」

いくつか試してみました

  1. 現在開発中の 5.2.0 通った
  2. 以前から運用中の 4.2.8 The action 'show' could not be found
  3. それ(2)の開発環境:ただしruby環境変えてしまったので立ち上がらず bundle installしなおし 通った

「標準のactionはActionController::Baseで定義されるようになった」のか?と5.2.2のcode見てみましたがありませんでした。

gemでそういうことをしてくれるものが出てきた?
それとも何かの勘違い?

お分かりの方いらっしゃったら教えてください。

未だ未解決

コツコツ暇を見て気がついたことを試しています。
こんなことをやってみました。
UsersController.ancestors.select{|c| c.instance_methods.include?(:index)} => []
classの継承の祖先には 定義していないようです

UsersController.ancestors.map{|c| c.included_modules.select{|m| m.methods.include?(:index)}}.uniq => [[]]
moduleにも。。。。。

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

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

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

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

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

guest

回答1

0

こんにちは

検証してみました

Rails 6.0.3
Ruby 2.7.1

scaffolodでUserを作成し
controllerからindexアクションを消したあとも
/usersにアクセスすると、対応するビューに到達できますね

投稿2020/08/26 03:28

naokit-dev

総合スコア424

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

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

winterboum

2020/08/26 03:33

仕様が変わったのか、どのversionからなのか、などの情報はございますか?
naokit-dev

2020/08/26 03:39

いえ、残念ながら winterbournさんの投稿を見て そんなことがあるのかと検証してみたところで全くわかりかねます そもそも def show end def...endの中身が空でもビューに到達できるのは Railsが見えないところで処理を加えているからという知識はあるのですが、 その部分の処理が変更になっているんでしょうかね
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問