railsで投稿ページを作り送信したらエラーが出てしまいました。
ちなみにモデルにはちゃんとtitleを設定しています。
error
1Started POST "/myblog/add" for ::1 at 2019-10-30 18:32:58 +0900 2Processing by MyblogController#create as HTML 3 Parameters: {"utf8"=>"✓", "authenticity_token"=>"mr9PJklvc6xO8mnaUQh2JyKjpWi5JKNxCMQwsSYjLx1YgTBYKH9IM 41EzM4F2znLCseRPiI2VtLiayWOUumBWtw==", "aaa"=>{"title"=>"xxx", "subtitle"=>"xxx", "stylename"=>"あああ"}, "commit"=>"送信"} 5Completed 500 Internal Server Error in 67ms (ActiveRecord: 7.5ms) 6 7 8 9ActiveModel::UnknownAttributeError (unknown attribute 'title' for Myblog.): 10 11app/controllers/myblog_controller.rb:21:in `create'
myblogrb
1class Myblog < ApplicationRecord 2 validates :title, :subtitle, :stylename, presence: {message:'は、必須事項です。'} 3end
myblogcontroller
1class MyblogController < ApplicationController 2 layout 'myblog' 3 before_action :authenticate_myblog!, only: :login_check 4 5 def login_check 6 end 7 8 def setting 9 end 10 11 def index 12 @msg = 'みんなのブログ' 13 end 14 15 def add 16 @myblog = 'aaa' 17 end 18 19 def create 20 if request.post? then 21 obj = Myblog.create( 22 title: params['title'], 23 subtitle: params['subtitle'], 24 stylename: params['stylename'], 25 ) 26 end 27 redirect_to 'myblog/top' 28end 29 30 def show 31 end 32 33 def top 34 @myblog = Myblog.all 35 end 36end 37 38 private 39 def myblog_params 40 params.require(:myblog).permit(:title, :subtitle, :stylename) 41 end
addhtmlerb
1<h1>投稿ページ</h1> 2<table> 3<%= form_for(@myblog, url:{controller:'myblog', action:'create'}) do |f| %> 4<tr><th>タイトル</th> 5 <td><%= f.text_field :title %></td></tr> 6<tr><th>サブタイトル</th> 7 <td><%= f.text_field :subtitle %></td></tr> 8<tr><th>本文</th> 9 <td><%= f.text_field :stylename %></td></tr> 10<tr><th></th> 11 <td><%= f.submit '送信' %></td></tr> 12<% end %> 13</table>
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/10/30 12:05 編集
2019/10/30 14:36
2019/10/30 14:59
2019/10/31 07:32