Hello all, I'm new to ruby and I am having trouble with adding new data
(name, height, weight, etc). Everytime I try to save my data, I get
this error:
No route matches [POST] "/home/new"
Rails.root: C:/Users/Jeffrey/blog
Request
Parameters:
{"utf8"=>"✓",
"authenticity_token"=>"Vgkmt3PPEobQFpJyWNIoHNnXtkmq2Uyk4vjMvgl8ZdhwIvc516BzXUfDs05OZ/8LLfkyKTxca90qiA2LBYBnwQ==",
"@input"=>{"name"=>"asd",
"weight"=>"233",
"height"=>"23",
"color"=>"red",
"age"=>"23"},
"commit"=>"Save @input"}
I am able to view index and enter the information, but when I submit, I
get this problem. Any help would be appreciated! Thank you
=================================================================
home_controller.rb
class HomeController < ApplicationController
def index
@inputs = Person.all
end
def new
@input = Person.new
end
def create
@input = Person.new(input_params)
if @article.save
redirect_to @input
else
render 'new'
end
end
def show
@input = Person.find(params[:id])
end
def edit
@input = Person.find(params[:id])
end
def update
@input = Person.find(params[:id])
respond_to do |x|
if @input.update(input_params)
x.html {redirect_to :action => 'index'}
else
x.html {render :edit}
end
end
end
private
def input_params
params.require(:inputs).permit(:name, :weight, :height, :color,
:age)
end
end
=================================================================
new.html.erb
<h1>New People</h1>
<%= render 'form' %>
<%= link_to 'Back', home_index_path %>
=================================================================
_form.html.erb
<%= form_for :@input do |person| %>
<div class="field">
<%= person.label :name %><br>
<%= person.text_field :name %>
</div>
<div class="field">
<%= person.label :weight %><br>
<%= person.number_field :weight %>
</div>
<div class="field">
<%= person.label :height %><br>
<%= person.number_field :height %>
</div>
<div class="field">
<%= person.label :color %><br>
<%= person.text_field :color %>
</div>
<div class="field">
<%= person.label :age %><br>
<%= person.number_field :age %>
</div>
<div class="actions">
<%= person.submit %>
</div>
<% end %>
=================================================================
index.html.erb
<p id="notice"><%= notice %></p>
<h1>Listing People</h1>
<table>
<thead>
<tr>
<th>Name</th>
<th>Weight</th>
<th>Height</th>
<th>Color</th>
<th>Age</th>
<th colspan="3"></th>
</tr>
</thead>
<tbody>
<% @inputs.each do |person| %>
<tr>
<td><%=
person.name %></td>
<td><%= person.weight %></td>
<td><%= person.height %></td>
<td><%= person.color %></td>
<td><%= person.age %></td>
<td><%= link_to 'Show',home_path(
person.id) %></td>
<td><%= link_to 'Edit', edit_home_path(
person.id) %></td>
</tr>
<% end %>
</tbody>
</table>
<br>
<%= link_to 'New Person', new_home_path %>
=================================================================
my routes.db has
resources :home
root 'home#index'
--
Posted via
http://www.ruby-forum.com/.