ruby on railsで簡単なメモアプリを作っています。
SequelProでmemosというテーブルを作成し、マイグレーションファイルを以下のように設定しました。
class CreateMemos < ActiveRecord::Migration[5.0] def change create_table :memos do |t| t.string :title,null:false t.string :body,null:false t.string :link t.timestamps end end end
まず、tips_controllerを作成し、以下のように設定しました。
class TipsController < ApplicationController def index @memo=Memo.all end def new @memo=Memo.new end def create Memo.create(memo_params) redirect_to root_path end private def memo_params params.require(:memo).permit(:title,:body,:link) end end
その後、view/tips/new.html.hamlを作成しform_withを使って以下のように作成しました。
.create .create--title 新しくtipsを作成する .cteate--tips =form_with(model: @tips, local: true) do |f| .create--tips--title =f.text_field :title,class:'text-form',placeholder:'タイトルを入力' .create--tips--body =f.text_area :body,class:'text-body',placeholder:'本文を入力' .create--tips--url =f.text_field :link,class:'text-url',placeholder:'参考にしたURLを記入' .create--tips--send =f.submit "メモを残す"
この状態でローカルサーバーを起動するとtips/newまではできるのですが、最後のsubmitを押すと
No route matches [POST] "/tips/new"
とエラー表記が出ます。ターミナルでrails routesを行うと
root GET / tips#index tips GET /tips(.:format) tips#index POST /tips(.:format) tips#create new_tip GET /tips/new(.:format) tips#new
と表示されているので問題ないと思うのですが・・・?というかnewのページから送信を押したのにまたnewにつながる時点でおかしいのでしょうか?
原因が全くわかりません。どなたかよろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/02/15 03:07
2020/02/15 03:17
2020/02/15 04:01