Here is my main.rb
require 'rubygems'
require 'sinatra'
require 'data_mapper'
DataMapper.setup(:default, ENV['DATABASE_URL'] || "sqlite3://#{Dir.pwd}/development.db")
class Item
include DataMapper::Resource
property :id, Serial
property :name, String, :required => true
property :quantity, Integer, :required => true
property :notes, Text
end
get '/' do
erb :list
# erb :new
end
# View an item
get '/item/:id' do
@item = Item.get(params[:id])
erb :item
end
DataMapper.auto_upgrade!
post '/' do
# @item = params[:name]
item = Item.new(:name => params[:name])
params[:name]
# if item.save
# status 201
# redirect '/'+icdtem.id.to_s
# else
# status 412
# redirect '/'
# end
end
Here is my list.erb file:
<table> <% Item.each do |item| %> <tr> <td><%= item.name %></td> <td><%= item.quantity %></td> <td><%= item.notes %></td> </tr> <% end %> </table> <form action="/" method="POST"> <input type="text" name="item" id="item"> <input type="submit" value="Add Item" /> </form>
When I run this, it displays my current inventory list just fine, with a text field for me to enter new items at the bottom.
Whenever I try to enter in a new item however, it doesn't display on the '/' page. I've refreshed and I'm still looking at the same list I had when I started.
When I check the Sinatra web logs, it does show that I made a POST request...
This post has been edited by xclite: 11 December 2012 - 07:20 PM

New Topic/Question
Reply



MultiQuote





|