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

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

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

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

Q&A

解決済

1回答

130閲覧

1個しか必要ないレコードの MCV の書き方

退会済みユーザー

退会済みユーザー

総合スコア0

Ruby on Rails

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

0グッド

1クリップ

投稿2019/04/25 10:06

編集2019/04/25 10:07

画面は1個で

レコードがないときはフォーム+登録ボタン
レコードがないときはフォーム+更新ボタン+削除ボタン

という感じにしたいのですが

まず update destroy 対象が決まってるので member じゃなく collection に変更
route.rb

resources :global_settings, only: [:create] do collection do put 'update' delete 'destroy' end end

update destoroy 対象のレコードも決まってるので変更

global_settings_controller.rb

before_action set_global_setting only: [:index, :destroy] def set_global_setting @global_setting = GlobalSetting.first || GlobalSetting.new end

ビューはインデックスの中に _form 的なものをかく

view: index.haml

= form_for @global_setting do |f| = f.submit

のような感じでかこうとしたんですが新規登録時にも submit アドレスが create ではなく update になってしまいます

form_for @global_setting

とインスタンスを渡した場合アドレスはどのようにきめられるのでしょうか

persisted? かどうかで create か update のリンクを作ってくれるものかと思っていたのですがそうではないようです

1つしかレコードが必要のない場合の MCV の書き方のベストプラクティスのようなサイトはないでしょうか

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

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

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

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

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

guest

回答1

0

ベストアンサー

resources ではなく resource を使ってみてください。1個しか必要ないレコードに対応したルーティングになります。

投稿2019/04/25 10:58

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問