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

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

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

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

Ruby on Rails

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

Q&A

0回答

369閲覧

NoMethodError in Todolists#new 星の評価を作成中にエラーが出て解決策が無く、困っています。

Takanoj

総合スコア38

Ruby

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

Ruby on Rails

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

0グッド

0クリップ

投稿2020/05/18 03:50

編集2020/05/18 03:51

前提・実現したいこと

星の評価の実装。
質問の内容
・星の評価を作成したのですが、エラーが出て解決出来ず投稿しました。

発生している問題・エラーメッセージ

NoMethodError in Todolists#new

Showing /home/vagrant/work/gogogogogogo/app/views/todolists/new.html.erb where line #7 raised

**undefined method `rate' for #<User id: nil, created_at: nil, updated_at: nil>

Extracted source (around line #7):
5**
6
7
8
9
10

<%= f.label :rate %>
<%= f.hidden_field :rate, id: :review_star %>

<% end %>

:イメージ説明

エラーメッセージ

### 該当のソースコード ```ここに言語名を入力 ソースコード

試したこと

スペルミスなどをチェックしたのですが、分かりませんでした。

補足情報(FW/ツールのバージョンなど)

newコントローラ情報

class TodolistsController < ApplicationController
def new
@user = User.new
end

def index
end

end

newページ

<h1>Todolists#new</h1> <p>Find me in app/views/todolists/new.html.erb</p>

<%= form_for @user, url: '/todolists_index' do |f| %>

<%= f.label :rate %>
<%= f.hidden_field :rate, id: :review_star %>

<% end %>

javascript:
$('#star').raty({
size: 36,
starOff: "#{asset_path('star-off.png')}",
starOn: "#{asset_path('star-on.png')}",
starHalf: "#{asset_path('star-half.png')}",
scoreName: 'review[rate]',
half: true,
});

Reviewモデル

class Review < ApplicationRecord

validates :rate, numericality: { less_than_or_equal_to: 5, greater_than_or_equal_to: 1

}, presence: true

end

Reviewテーブル

class AddRateToReview < ActiveRecord::Migration[5.2]
def change
add_column :reviews, :rate, :float, null: false, default: 0
end
end

よろしくお願いします。

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

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

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

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

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

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

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

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

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問