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

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

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

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

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

2回答

1032閲覧

RAILSで入力フォームを増やした時、データの保存方法

remkn

総合スコア1

Ruby on Rails

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

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2021/04/05 04:25

RubyonRAILSで入力フォームを作っています。この入力フォームは下記で構成されています。
・タイトル 必須
・詳細文1 必須

上記の入力フォームのデータ保存するために、モデルform内には
タイトル
詳細文1
を定義しています。

ユーザーは、フォーム追加ボタンを押すことで入力フォーム(詳細文2)を増やすことができます。もう一度、追加ボタンを押すと、詳細文3という入力フォームを増やすことができます。

やりたいこと

・入力フォームに打ち込んだデータ(タイトルロゴ、詳細文1、詳細文2)を保存できるようにしたいです。 

聞きたいこと

モデルに定義できていない詳細文2のデータを保存するためには、どうすれば良いですか?

私が考えた方法はこれです。
1.事前にモデルへ詳細文2以降のカラムを用意する。そして、増やしたフォームごとに保存するようにする。

2.モデルformのカラムを下記のように定義する。これでいくら入力フォームを増やしても対応できるかもしれない。
・タイトル
・詳細文 ここを配列で保存するようにする

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

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

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

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

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

guest

回答2

0

普通はテーブルを分けて実装します。
詳細文テーブルを別で作成して、has manyの形にします。

ちなみに

ユーザーは、フォーム追加ボタンを押すことで入力フォーム(詳細文2)を増やすことができます。

通常ですとこの動きはrailsのセキュリティの仕様上出来ないと思います。

投稿2021/04/05 15:09

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

0

ベストアンサー

2つめの方法は実現可能ですがやめたほうが良いです。DBの素直な使い方ではないから。
いくつに増えてもよい とするなら、多くは 1:多で実装します。

投稿2021/04/05 05:49

winterboum

総合スコア23567

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問