ここに質問の内容を詳しく書いてください。
プログラミングスクールの課題でSNSを作っています。投稿画面から投稿内容の保存をしたいのですが保存ボタンを押すとundefined methodエラーが出ました。
発生している問題・エラーメッセージ
undefined method `name' for #<Prototype:0x00007fcd68cd9550>
該当のソースコード
app/controller/PrototypesController.rb
ruby
1class PrototypesController < ApplicationController 2 3 def index 4 5 end 6 7 def new 8 @prototype = Prototype.new 9 end 10 11 def create 12 @prototype = Prototype.create(prototype_params) 13 14 if @prototype.save 15 redirect_to root_path 16 else 17 render :new 18 end 19 end 20 21 private 22 def prototype_params 23 params.require(:prototype).permit(:title, :catch_copy, :concept, :image).merge(user_id: current_user.id) 24 end 25 26end
views/prototypes/_form.html.erb
html
1<%= form_with model: @prototype, local: true do |f|%> 2 <div class="field"> 3 <%= f.label :title, "プロトタイプの名称" %><br /> 4 <%= f.text_field :title, id:"prototype_title" %> 5 </div> 6 7 <div class="field"> 8 <%= f.label :catch_copy, "キャッチコピー" %><br /> 9 <%= f.text_area :catch_copy, class: :form__text, id:"prototype_catch_copy" %> 10 </div> 11 12 <div class="field"> 13 <%= f.label :concept, "コンセプト" %><br /> 14 <%= f.text_area :concept, class: :form__text, id:"prototype_concept" %> 15 </div> 16 17 <div class="field"> 18 <%= f.label :image, "プロトタイプの画像" %><br /> 19 <%= f.file_field :image, id:"prototype_image" %> 20 </div> 21 22 <div class="actions"> 23 <%= f.submit "保存する", class: :form__btn %> 24 </div> 25<% end %>
db/migrate/000000_create_prototypes.rb
ruby
1class CreatePrototypes < ActiveRecord::Migration[6.0] 2 def change 3 create_table :prototypes do |t| 4 t.references :user, foreign_key: true 5 t.text :concept 6 t.text :catch_copy 7 t.string :title, null: false, default: "" 8 t.timestamps 9 end 10 end 11end
app/model/prototype
class Prototype < ApplicationRecord has_many :user has_one_attached :image validates :image, presence: true validates :title, presence: true validates :catch_copy, presence: true validates :concept, presence: true end
FullTrace内容をスクリーンショットしました。
文字数の関係で写真になってしまう申し訳ありません。
試したこと
マイグレーションの更新
controllerのcreateアクションの記述変更
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー