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

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

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

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

Q&A

解決済

2回答

2386閲覧

ruby on rails でブログ投稿機能を作ろうとしています

t1gerkngd0m

総合スコア26

Ruby on Rails 4

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

0グッド

0クリップ

投稿2016/04/21 13:26

編集2016/04/21 14:45

ruby on rails で初心者向けのブログ投稿、カテゴリ選択できるwebアプリを作っています。
ローカルホストでhttp://localhost:3000/categories/newを表示しようとしたところ、次のエラー分が出ました。

エラー文
app/views/categories/new.html.erb where line #5 raised:

undefined method `name' for #<Category id: nil, created_at: nil, updated_at: nil>

ソースコード

ruby

1app/views/categories/new.html.erb 2<h1>New Category</h1> 3<%= form_for(@category) do |f| %> 4 <div class="field"> 5 <%= f.label :name %><br> 6 <%= f.text_field :name %> 7 </div> 8 <div class="actions"> 9 <%= f.submit %> 10 </div> 11<% end %> 12 13app/controllers/categories_controller.rb 14class CategoriesController < ApplicationController 15 def index 16 @categories = Category.all 17 end 18 def show 19 @category = Category.find(params[:id]) 20 end 21 def create 22 category_params = params.require(:category).permit(:name) 23 @category = Category.new(category_params) 24 25 if @category.save 26 redirect_to @category, notice: 'Category was successfully created' 27 else 28 render :new 29 end 30 end 31 def new 32 @category = Category.new 33 end 34end 35 36app/models/category.rb 37class Category < ActiveRecord::Base 38 has_many :posts 39end

これってnameが定義されてないってことですよね?
かなり初歩的な質問ですが、nameはどこで定義すればよいのでしょうか?
ご教授いただきたいです。

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

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

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

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

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

退会済みユーザー

退会済みユーザー

2016/04/21 14:34

category.rbを見せてもらえますか?
t1gerkngd0m

2016/04/21 14:44 編集

追記しました。 よろしくお願いします
guest

回答2

0

categoriesテーブルにnameというカラムがあることを確認してみるとかどうでしょう。
たしかdbフォルダあたりにscheme.rbというファイルがありまして、そこで現在のDBの構造を見ることができます。

投稿2016/04/21 17:32

shika_niku

総合スコア46

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

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

0

ベストアンサー

ruby

1class Category < ActiveRecord::Base 2 has_many :posts 3 attr_accessor :name 4end

としてください。何かを参考にしてやっていますか?とりあえず,まずはチュートリアルドットインストールを見ることをお勧めします。
基本を理解してからコードを書きましょう。railsは設定より規約という思想があり,規約を知らないでコードを書くことは返って学習効果を妨げます。最低限の規約はドットインストールで説明されているのでそちらを見ながらやってみてください。

投稿2016/04/21 14:54

編集2016/04/21 14:59
退会済みユーザー

退会済みユーザー

総合スコア0

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

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

t1gerkngd0m

2016/04/22 01:24

解決しました!ありがとうございます! 参考にしているものがあるんですが、そこには十分には書いてないです 自分の知識に課題だらけだと分かったので、ドットインストールで学びながらやります。 ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問