「Build Your Own Ruby on Rails」を始めたばかりで、この本にはコードが機能しない箇所がたくさんあるようで、Google を頻繁に使用する必要がありました。今回は答えが見つかりませんでした。よし、これで取り引きだ。次のようなフォームがあります。
new.html.erb
:
<%= form_for :story do |f| %>
<p>
name:<br />
<%= f.text_field :name %>
</p>
<p>
link: <br />
<%= f.text_field :link %>
</p>
<p>
<%= submit_tag %>
</p>
<% end %>
に行くと問題なく表示されlocalhost:3000/story/new
ます。問題は、フォームに入力して「送信」を押しようとすると、次のエラーが発生することです。
Routing Error
No route matches [POST] "/story/new"
私routes.rb
はこのように見えます:
FirstApp::Application.routes.draw do
resources :story
story_controller
次のようになります。
def new
@story = Story.new(params[:story])
if request.post?
@story.save
end
end
のstory_controller
ものnew
は本からそのままです。ここで解決策があったかもしれないと思いましたが、サイコロはありませんでした。どんな助けでも大歓迎です。