前提・実現したいこと
viewから値を入力して
controllerで受け取ってから、別のviewに返す
ということをやりたいです。
発生している問題・エラーメッセージ
The action 'create' could not be found for PricesController
該当のソースコード
controller
ruby
1class PricesController < ApplicationController 2 3 before_filter :init_price 4 5 # def new 6 # @price = Price.new 7 # end 8 def create 9 render "index" 10 end 11 12 def index 13 14 end 15 16 def init_price 17 #||=というイディオムは左辺が未定義または偽なら代入の意味 18 @price ||= params(:price) 19 @tax ||= params(:tax) 20 end 21 22 23 24end
view 入力 new.html.erb
ruby
1<%= form_tag prices_path do %> 2税抜き価格 3<input type="number" name="price"> 4税率 5<input type="number" step="0.1" name="tax"> 6 7 <input type="submit" value="投稿する"> 8<% end %> 9
view出力 index.html.erb
ruby
1<a href="http://localhost:3000/prices/new">a</a> 2<%= @price %> 3
routes.rb
ruby
1Rails.application.routes.draw do 2 # For details on the DSL available within this file, see https://guides.rubyonrails.org/routing.html 3 4 root 'prices#index' 5 resources :prices do 6 7 end 8end
試したこと
controllerの中身を書き直す
createに
@price = Price.new を書き足す
newのコメントアウトを消す
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。