###前提・実現したいこと
ruby on railsで辞書アプリを作っています。
検索フォームの作成時にエラーが起きました。
###発生している問題・エラーメッセージ
新規単語作成時と名前(?)が同じポストを送るコードを書くとエラーが起こります。
NoMethodError in Words#search_alphabet
###該当のソースコード
routes.rb
1Rails.application.routes.draw do 2 get 'words/index' 3 get 'words/new' 4 post 'words' => "words#create" 5 6 get 'words/search_alphabet' 7 post 'words' => "words#result_alp" 8 9 get 'words/show/:alphabet' => 'words#show' 10 11 # For details on the DSL available within this file, see http://guides.rubyonrails.org/routing.html 12end
words_controller.rb
1class WordsController < ApplicationController 2 def index 3 @word = Word.all 4 end 5 6 def show 7 @word = Word.find_by(:alphabet => params[:alphabet]) 8 end 9 10 def new 11 end 12 13 def create 14 @word = Word.new 15 @word.name = params[:word][:name] 16 @word.alphabet = params[:word][:alphabet] 17 @word.reading = params[:word][:reading] 18 @word.genre = params[:word][:genre] 19 @word.mean = params[:word][:mean] 20 @word.save 21 redirect_to '/words/index' 22 end 23 24 def create 25 end 26 27 def search_alphabet 28 @searchalp = SearchAlp.new 29 end 30 31 def result_alp 32 end 33 34end
search_alphabet.html.erb
1<%= form_for SearchAlp.new do |f| %> 2 <%= f.label :検索ワード %> 3 <%= f.text_field :word %> 4 <%= f.submit "検索" %> 5<% end %> 6
今回が初めてのrailsなので根本的に間違っているかもしれませんが回答よろしくお願いします。
あなたの回答
tips
プレビュー