質問編集履歴

4 タイトルの変更

moratorium

moratorium score 31

2017/01/08 23:27  投稿

Ruby on RailsでnewアクションのNoMethodError
Railsのnewアクションで投稿フォーム(form_for)を作りたい
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
```
  • Ruby

    12675 questions

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

  • Ruby on Rails

    12670 questions

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

  • Ruby on Rails 4

    2625 questions

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

3 内容の変更

moratorium

moratorium score 31

2017/01/08 20:55  投稿

Ruby on Railsでnewアクションのform_forでエラー
Ruby on RailsでnewアクションのNoMethodError
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
```
  • Ruby

    12675 questions

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

  • Ruby on Rails

    12670 questions

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

  • Ruby on Rails 4

    2625 questions

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

2 内容の変更

moratorium

moratorium score 31

2017/01/08 20:32  投稿

Ruby on Railsでnewアクションのform_forでエラー
railsで授業レビューの掲示板を作成中なのですが
投稿機能をnewメソッドで作成しているときに
下記エラーが出てきており解決ができません。
 
”newメソッドが定義されていないよ”  
という意味かとも思ったのですが  
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
```
  • Ruby

    12675 questions

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

  • Ruby on Rails

    12670 questions

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

  • Ruby on Rails 4

    2625 questions

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

1 情報の追記

moratorium

moratorium score 31

2017/01/08 20:13  投稿

Ruby on Railsでnewアクションのform_forでエラー
railsで授業レビューの掲示板を作成中なのですが
投稿機能をnewメソッドで作成しているときに
下記エラーが出てきており解決ができません。
”newメソッドが定義されていないよ”
という意味かとも思ったのですが
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
```
  • Ruby

    12675 questions

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

  • Ruby on Rails

    12670 questions

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

  • Ruby on Rails 4

    2625 questions

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

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る