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

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

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

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

Ruby on Rails

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

Ruby on Rails 4

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

Q&A

解決済

1回答

4913閲覧

テキストフィールドが出てこないエラーについて

daikitakaya

総合スコア229

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

Ruby on Rails

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

Ruby on Rails 4

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

0グッド

0クリップ

投稿2016/05/20 15:55

編集2016/05/22 15:02

###前提・実現したいこと
テキスト投稿にタイトル入力項目を作りたいです。
現在は、Scaffoldで作成した本文(description)しか送信でいないようになっているのですが、追加で記事のタイトルを送信できるようにしたいと思っています。おそらく、初歩的なミスだと思うのですがはまってしまい困っています。
###発生している問題・エラーメッセージ
テストのために簡易的にこのように入力フィールドを作成しました。

/app/views/articles/_form.html.erb <div class="field"> <%= f.label :title %><br> <%= f.text_field :title %> </div>

すると以下のようなエラーが出てしまいました。

NoMethodError in Articles#new Showing /Users/takayadaiki/projects/Vook/app/views/articles/_form.html.erb where line #16 raised: undefined method `title' for #<Article:0x007f93cc4e2138> Extracted source (around line #16): 14 <div class="field"> 15 <%= f.label :title %><br> 16 <%= f.text_field :title %> 17 </div> 18 19

Scaffoldで作成した本文はエラーなく表示、機能しています。
いかが本文の記述です。

/app/views/articles/_form.html.erb <div class="field"> <%= f.label :description %><br> <%= f.text_area :description %> </div>

###試したこと
初めにtitleカラムを追加していないことに気づき、後からstring型でtitleカラムを追加しました。しかし、同様のエラーが出てしまい困っています。

###補足情報
Rails/Ruby/

ちなみにストロングパラメーターはこのように渡しています。

def article_params params.require(:article).permit(:description, :movie_id, :title).merge(user_id: current_user.id) end

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

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

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

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

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

Kuro-

2016/05/23 04:08

articles_controller.erbのnewの詳細と_form.html.erbだけではなく 呼び出し元となるviewの内容も教えて頂けませんか?
daikitakaya

2016/05/26 11:11

なんとか解決することができました。ありがとうがございました。
guest

回答1

0

ベストアンサー

エラーメッセージはArticleモデルにtitleメソッドが無いと示しているので、データベースのarticlesテーブルにtitleフィールドが無い状態であると思われます。

「後からstring型でtitleカラムを追加しました」とのことですが、コードを修正しただけでデータベースのテーブル構造に反映していないことが考えられます。以下の操作で確認してください。

sh

1$ cd ~/projects/Vook 2$ bin/rails console

ruby

1> Article.last 2 => #<Article description: "", title: ←あるか?

投稿2016/05/25 05:35

tkmtmkt

総合スコア1800

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

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

daikitakaya

2016/05/26 11:09

def article_params params.require(:article).permit(:description, :movie_id, :title).merge(user_id: current_user.id) のpermit(:description, :movie_id, :title )と:titleに半角空白を入れると解決しました。みなさんありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.49%

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

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

質問する

関連した質問