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

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

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

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

Ruby on Rails

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

Ruby on Rails 4

Ruby on Rails4はRubyによって書かれたオープンソースのウェブフレームワークです。 Ruby on Railsは「設定より規約」の原則に従っており、効率的に作業を行うために再開発を行う必要をなくしてくれます。

Q&A

0回答

1916閲覧

<rails>階層化したフォームの子要素を一旦保存し、それを同ビューにて表示したい

haruharu88

総合スコア17

Ruby

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

Ruby on Rails

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

Ruby on Rails 4

Ruby on Rails4はRubyによって書かれたオープンソースのウェブフレームワークです。 Ruby on Railsは「設定より規約」の原則に従っており、効率的に作業を行うために再開発を行う必要をなくしてくれます。

2グッド

1クリップ

投稿2016/01/28 13:56

編集2022/01/12 10:55

現在、Rails4でユーザー投稿型のアプリケーションを開発しており、Naverまとめのようなコンテンツのブロックを組み合わせて記事を作っていく機能を作成したいと思っております。

そこでテーブル構成は下記のようになっております。
**
Postテーブル**

has_many :items #カラム↓ #: name #: description

itemテーブル

has_one :heading,content,movie,quate #カラム↓ #: order #こちらはitemの順番を保持するカラムです #: post_id

heading, content, movie, quateテーブル

belongs_to :item #カラムは各テーブル毎に違ったものを保持しています。

そして下記のようにコントローラーで指定し、

PostsController

def new @post = current_user.posts.build @item = @post.items.build @item.build_heading @item.build_content @item.build_movie @item.build_quate end

ビューで下記のように階層関係のフォームを表示しております。

form.html.erb

<%= form_for(@post) do |f| %> <% if @post.errors.any? %> <ul> <% @post.errors.full_messages.each do |msg| %> <li><%= msg %></li> <% end %> </ul> <% end %> <%= f.label :タイトル %> <%= f.text_field :title, placeholder: "ポストのタイトルを入力" %> <%= f.label :概要 %> <%= f.text_field :description, placeholder: "ポストの概要を入力"%> <%= f.label :画像のアップロード %> <%= f.file_field :image %> <%= f.hidden_field :user_id %> <ul id="wighet"> <li><div><br><a class="widgetselecterbtn">見出し</a></div></li> <li><div><br><a class="widgetselecterbtn">テキスト</a></div></li> <li><div><br><a class="widgetselecterbtn">Youtube</a></div></li> <li><div><br><a class="widgetselecterbtn">引用</a></div></li> <ul> <div id="entry_list"> </div> <%= f.fields_for @item do |m| %> <%= m.hidden_field :order, value: '0' %> <div class="ItemWidget01 itemselected hide"> <%= render 'headings/form_fields', m: m %> </div> <div class="ItemWidget01 itemselected hide"> <%= render 'contents/form_fields', m: m %> </div> <div class="ItemWidget01 itemselected hide"> <%= render 'movies/form_fields', m: m %> </div> <div class="ItemWidget01 itemselected hide"> <%= render 'quates/form_fields', m: m %> </div> <%= m.submit %> <% end %> <%= f.submit %> <% end %>

今回この <%= m.submit %> がクリックされた段階で、一旦保持されたデータをビューに表示し、確認しながらほかのitemも追加していけるようにしたいと思います。

様々な方法等を調べたのですが、よくわからず、困っています。

どなたかお力添えいただけませんでしょうか?

RinaAoki, ikuwow👍を押しています

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

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

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

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

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

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

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

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

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問