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

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

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

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

Ruby

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

Q&A

解決済

2回答

634閲覧

エラー文の意味を教えてください rails

muraishi

総合スコア17

Ruby on Rails 5

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

Ruby

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

0グッド

0クリップ

投稿2020/02/15 01:57

Railsでアプリを作っているのですがform_for で値を受け取る時にエラーが出ます。エラーの意味もわからずどう対処して良いかわかりません。
おそらくコントローラーの書き方がおかしいのではないかと思います。
よろしくお願いいたします

NoMethodError in TimetablesController#create undefined method ` ' for #<TimetablesController:0x00007f26840ba1b0> Extracted source (around line #11): 9 10 11 12 13 14 def create   @timetable = Timetable.new(timetable_params) if @timetable.save flash[:success] = "ご予約ありがとうございます" render root_path Rails.root: /home/ec2-user/environment/portfolio Application Trace | Framework Trace | Full Trace app/controllers/timetables_controller.rb:11:in `create' Request Parameters: {"utf8"=>"✓", "authenticity_token"=>"6SuUpn3FB+8AclGmsnDVPdb9k3rn3/e9aAS/cVkOCpLgi67AIiOqkkZIBknxp2IGpTNA8LgOdgaaZuR9zgX89w==", "timetable"=>{"NOP"=>"1", "time"=>"123"}, "commit"=>"投稿する"} Toggle session dump Toggle env dump Response Headers: None

controller

1class TimetablesController < ApplicationController 2 def timetable_index 3 @timetables = Timetable.all 4 end 5 6 def new 7 @timetable = Timetable.new 8 end 9 10 def create 11  @timetable = Timetable.new(timetable_params) 12 if @timetable.save 13 flash[:success] = "ご予約ありがとうございます" 14 render root_path 15 else 16 flash[:success] = "申し訳ございません。予約を受け付けられませんでした" 17 render root_path 18 end 19 end 20 21 def show 22 end 23 24 def destroy 25 end 26 27 private 28 def timetable_params 29 params.require(:timetable).permit(:NOP, :time) 30 end 31end 32

view

1<h1>投稿フォーム</h1> 2<%= form_for @timetable do |f| %> 3 <p> 4 <%= f.label :NOP, "NOP" %><br> 5 <%= f.text_field :NOP %> 6 </p> 7 <p> 8 <%= f.label :time, "time" %><br> 9 <%= f.text_area :time %> 10 </p> 11 <p> 12 <%= f.submit "投稿する"%> 13 </p> 14<% end %>

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

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

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

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

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

guest

回答2

0

おお!解決しました。

ご指摘を受けたところに全角がないかチェックしたのですが、見当たらなかったのですが、11行目を一回全部消して、書き直したら直りました。

全角が入っているならアラートを出すような拡張機能とかあったら便利ですよね!

助かりました。ありがとうございます!

投稿2020/02/15 04:05

muraishi

総合スコア17

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

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

otn

2020/02/15 10:11

> 見当たらなかったのですが、 言われても見つけられないというのは困ったものです。 そもそも、全角空白を入力しにくいようにIME設定を変更するのがいいです。 どんな状態であっても、空白キーを押したら常に半角空白が入力される設定にする。
muraishi

2020/02/15 10:30

おお、そんな設定があるんですね! それは便利ですね! 教えてくださりありがとうございます!!!
guest

0

ベストアンサー

TimetablesControllerの 11行目の行頭に全角スペースが入っていると思います。
こちらを半角スペースに修正したらいかがでしょうか?

投稿2020/02/15 02:15

shgtkshruch

総合スコア665

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

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

muraishi

2020/02/15 04:07

おお!解決しました。 ご指摘を受けたところに全角がないかチェックしたのですが、見当たらなかったのですが、11行目を一回全部消して、書き直したら直りました。 全角が入っているならアラートを出すような拡張機能とかあったら便利ですよね! 助かりました。ありがとうございます!
shgtkshruch

2020/02/15 04:43

動いてよかったです。 エディタによっては不要なスペースを可視化してくれるプラグインなどがありますので、そういったツールを使うのも手だと思います。
muraishi

2020/02/15 05:06

これはレイルズチュートリアルのやり方で作った物を拡張したアプリなので、そのままcloud9を使っているのですが、普段はvscodeを使っているのでそっちの方で探してみます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問