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

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

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

HTMLの<input type="text">で生成されるtextboxに関するタグです。

Ruby on Rails

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

Q&A

解決済

1回答

987閲覧

rich_text_areaで初期値を設定したい

bok_sakai

総合スコア20

textbox

HTMLの<input type="text">で生成されるtextboxに関するタグです。

Ruby on Rails

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

0グッド

0クリップ

投稿2020/02/07 11:34

rails6でWebサービスを作成しています。

ブログを投稿・編集する際、太字や斜体が使えるようにAction textを導入しているのですが、編集ページで初期値を設定しても反映されず困っています。

どなたかご教授お願いしますm(_ _)m

<div class="main posts-new"> <div class="container"> <h1 class="form-heading">編集する</h1> <%= form_with url:"/posts/#{@post.id}/update", method: :post, multipart: true do |form| %> <div class="form"> <div class="form-body"> <% @post.errors.full_messages.each do |message| %> <div class="form-error"> <%= message %> </div> <% end %> <p>タイトル</p> <%= form.text_field :title, :value => @post.title %> <p>サムネイル画像</p> <input name="image" type="file"> <p>本文</p> <%= form.rich_text_area :content, :value => @post.content %> <input type="submit" value="投稿"> </div> </div> <% end %> </div> </div>

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

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

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

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

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

guest

回答1

0

ベストアンサー

あまり自信がないのですが、もしかしたら解決につながるかもしれないので回答します。

form_with の引数に model というものがあるのですが、

<%= form_with model: @post, url:"/posts/#{@post.id}/update", method: :post, multipart: true do |form| %>

としてみてはいかがでしょう。
その場合、二つのフォームの :value => 変数 は削除することになると思います。

以下の記事にも書いてあったのですが、model引数にデータを渡すと、各フォームで value を指定しなくても初期値を入れてくれそうです。
Rails 5.1〜: ‘form_with’ APIドキュメント完全翻訳


追記

調べてみてわかったのですが、models 以下のファイルも修正する必要があるんですね
これはもう既にされていると思いますが、念のため、記述が間違っていないか確認する価値はありそうです

Action Text の概要

既存のモデルにリッチテキストのフィールドを追加するには次のようにします。

# app/models/message.rb class Message < ApplicationRecord has_rich_text :content end

投稿2020/02/08 21:32

編集2020/02/08 21:36
siruku6

総合スコア1382

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

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

bok_sakai

2020/02/09 03:46

丁寧に教えていただき本当にありがとうございました! form_withでモデルを指定することでvalueを書く必要がなくなるのですね、勉強になりました。感謝いたします。
siruku6

2020/02/09 04:00

上手く動けばいいのですが、、 rails6はまだ一度も触ったことがなかったので、うまく動作することを祈っています。
bok_sakai

2020/02/09 15:00

何度も申し訳ありません。 初期値は表示されるようになったものの、contentを入力するrich_text_areaと、titleを入力するtext_fieldが入力を受け付けなくなってしまいました。 入力し、submitボタンを押しても、入力した文字がすべて消え、バリデーションエラーが表示されます。。。何か策はありませんでしょうか(;_;)
siruku6

2020/02/09 15:21 編集

残念。。。 ただ、validation error とその後の動きは、rich_text とは直接は関係ない問題な感じがしますので、この問題とは別に考えた方がよさそうです。 (この質問に追記して下さっても、別の質問を立ててもらってもどちらでもいいと思います) validationエラーの内容と、controller, model ファイルのソールを掲載してもらうと回答しやすいです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問