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

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

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

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

Ruby on Rails

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

Q&A

1回答

1800閲覧

Ruby on Rails で Actiontext の導入がうまくいかない

atage517

総合スコア36

Ruby

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

Ruby on Rails

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

0グッド

0クリップ

投稿2020/07/25 06:23

編集2020/07/25 12:29

打ち消し線### わからないこと
参考サイトを参考にしてTeratailで質問するときに使われる B I H など太文字や斜体に文字を変更できるrailsの actiontext という gem を導入しようと思っているのですがエラーが出てうまくいきません。

対象のエラー

undefined local variable or method `form' for #<#<Class:0x00007f8737eaad10>:0x00007f8737ea8790> Did you mean? for fork <textarea name="title"><%= @post.title %></textarea> <div class="field"> <%= form.label :content %>        ←ここがエラーだと言われる <%= form.rich_text_field :content %> </div> <input type="submit" value="質問する">

コードについては参考サイト通りに、

class Post < ApplicationRecord has_rich_text :content end
class PostsController < ApplicationController def post_params params.require(:post).permit(:title, :content) end end

編集前

<div class="main posts-new"> <div class="container"> <h1 class="form-heading">質問する</h1> <%= form_tag("/posts/create") do %> <div class="form"> <div class="form-body"> <% @post.errors.full_messages.each do |message| %> <div class="form-error"> <%= message %> </div> <% end %> <textarea name="title"><%= @post.title %></textarea> <div class="field"> <%= form.label :content %> <%= form.rich_text_field :content %> </div> <input type="submit" value="質問する"> </div> </div> <% end %> </div> </div>

編集後

<div class="main posts-new"> <div class="container"> <h1 class="form-heading">質問する</h1> <%= form_for (posts_create_path) do |form| %> <div class="form"> <div class="form-body"> <% @post.errors.full_messages.each do |message| %> <div class="form-error"> <%= message %> </div> <% end %> <textarea name="title"><%= @post.title %></textarea> <div class="field"> <%= form.label :content %> <%= form.rich_text_field:content %> </div> <input type="submit" value="質問する"> </div> </div> <% end %> </div> </div>

エラーでは以下のように出ますが、rich_text_areaにしてしまうとaction_textが消えてしまうのでやはりform_forの方の問題だと思います

ActionView::Template::Error (undefined method `rich_text_field' for #<ActionView::Helpers::FormBuilder:0x00007fa9b2212f60> Did you mean? rich_text_area):

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

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

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

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

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

guest

回答1

0

<%= form.label :content %> というような書き方を行う場合、それを囲んで
<%= form_for .... do |form| %>..<% end %>とか
<%= form_with .... do |form| %>..<% end %>
とformを定義しておく必要があります

投稿2020/07/25 06:43

winterboum

総合スコア23329

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

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

atage517

2020/07/25 08:37

winterboum さんありがとうございます。 <div class="main posts-new"> <div class="container"> <h1 class="form-heading">質問する</h1> <%= form_tag("/posts/create") do %> <div class="form"> <div class="form-body"> <% @post.errors.full_messages.each do |message| %> <div class="form-error"> <%= message %> </div> <% end %> <textarea name="title"><%= @post.title %></textarea> <div class="field"> <%= form_for (@post) do |form| %> <%= form.label :content %> <%= form.rich_text_field:content %> <% end %> </div> <input type="submit" value="質問する"> </div> </div> <% end %> </div> </div> form_forを追加したのですがエラーが出ます。この書き方は間違っているんでしょうか?
winterboum

2020/07/25 11:19

エラーは変わりませんか? 全文載せてください。 できれば作りなおしたviewも質問欄に移してもらったほうが読みやすいです
atage517

2020/07/25 12:30

作り直したviewについて質問欄に載せておきました!
winterboum

2020/07/25 23:34

エラーは変わりませんか? 全文載せてください。
atage517

2020/07/26 03:38

全部貼付済みです。 以下のようなエラーが出ます。 undefined method `rich_text_field' for #<ActionView::Helpers::FormBuilder:0x00007fa9b26b3e70> Did you mean? rich_text_area しかし、rich_text_fieldをrich_text_areaに変更するとactiontextが表示されません
winterboum

2020/07/26 04:09

formだけ見ていたので、そのあたりは見ていませんでした。 で rich_text_fieldは gem 'actiontext' が必要ですが、それは入れてありますか?
atage517

2020/07/26 04:41

はい gemfileの中身は以下の通りです。 gem 'hirb' gem 'hirb-unicode' gem 'coffee-rails', '~>5.0' gem 'actiontext' gem 'nokogiri'
winterboum

2020/07/26 04:49

申し訳ない、となると私では力不足です
atage517

2020/07/26 04:50

いえ!いつもありがとうございます!自分でも今ググって調べいます。あとはこちらでなんとか解決策を考えて見ます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問