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

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

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

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

Ruby on Rails

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

Ruby on Rails 4

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

Q&A

解決済

1回答

1732閲覧

Railsのnewアクションで投稿フォーム(form_for)を作りたい

moratorium

総合スコア33

Ruby

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

Ruby on Rails

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

Ruby on Rails 4

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

0グッド

0クリップ

投稿2017/01/08 10:55

編集2017/01/08 14:27

railsで授業レビューの掲示板を作成中なのですが
投稿機能をnewメソッドで作成しているときに
下記エラーが出てきており解決ができません。

初歩的な質問で恐縮ですが
どなたかご教示ください。

エラー文

NoMethodError in Reviews#new
Showing /vagrant/project/moratle/app/views/reviews/new.html.erb where line #9 raised:

undefined method `reviews_path' for #<#Class:0x007ff1404d2dd8:0x007ff140532e40>

Extracted source (around line #9): 7 <div class="main-contents1" > 8 9 <%= form_for (@review) do |f| %> 10 <div class="content_new_name"> 11 <%= f.label :nickname %> 12 <%= f.text_field :nickname, placeholder: 'ニックネーム', value: '' %>

ビューのソースコード

review.html.erb

<div class="contents clearfix"> <div class="main-contents"> <div class="discription"> </div> <div class="main-contents1" > <%= form_for (@review) do |f| %> <div class="content_new_name"> <%= f.label :nickname %> <%= f.text_field :nickname, placeholder: 'ニックネーム', value: '' %> </div> <div class="new_rate"> <%= f.label :評価 %> <%= f.number_field :rate, placeholder: '評価', value: 1, max: 5, min: 1 %> </div> <div class="new_review"> <%= f.text_area :review, placeholder: '授業の感想や質問を書き込もう!' %> </div> <% end %> <div class="content_uni-search"> </div> </div> </div> <div class="side-contents"> <h1>Side-contents</h1> </div> </div>

コントローラー

reviews_controller.rb

class ReviewsController < ApplicationController def new @review = Review.new end def create end end

ルーティング

routes.rb

Rails.application.routes.draw do devise_for :users root to: "top#index" get 'campuses' => 'campuses#index' get 'campuses/:university_id' => 'campuses#departmentlist' get 'campuses/:university_id/department:department_id' => 'campuses#campuslist' get 'campuses/:university_id/department:department_id/campus:campus_id/' => 'campuses#campusreview' get 'campuses/:university_id/department:department_id/campus:campus_id/review/new' => 'reviews#new' get 'campuses/:university_id/department:department_id/campus:campus_id/reviews' => 'reviews#create' get 'search' => 'top#search' get 'search' => 'campuses#search' resources :users, only: [:show, :edit, :update] get 'industrylist' => 'industries#index' get 'article' => 'articles#index' end

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

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

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

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

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

guest

回答1

0

ベストアンサー

「form_for (@review)」を指定することでreviews_pathというヘルパーを参照しようとして、
そんなの定義されていないよというエラーとなっているのではないかと思います。
form_forのオプションでurlを指定するようにすれば解決するかもしれません。

http://railsdoc.com/references/form_for

投稿2017/01/11 08:23

hn1

総合スコア303

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

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

moratorium

2017/01/14 06:09

上記でURLを指定したら解決しました!ありがとうございます! ルーティングに誤りがあったようです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問