I think you need to put the url parameter in the form like this: shopping_path(@shop)
I think you can also omit the URL parameter entirely and the form_for will know which path to use automatically because you have supplied the object that the form is bound to. (I am 95% sure I am correct so leave 5% room for error in this information) -Jason On Oct 25, 2014, at 12:32 AM, Aspiring.Student.programmer <[email protected]> wrote: > here is the schema > > > ActiveRecord::Schema.define(version: 20141016020227) do > > create_table "articles", force: true do |t| > t.string "title" > t.text "text" > t.datetime "created_at" > t.datetime "updated_at" > t.string "time" > t.string "age" > t.string "el" > t.string "experience" > end > > create_table "shops", force: true do |t| > t.string "title" > t.text "text" > t.datetime "created_at" > t.datetime "updated_at" > end > > end > > and yeah i meant new table. > > On Tuesday, October 21, 2014 9:56:19 AM UTC+11, Aspiring.Student.programmer > wrote: > Hey > > I am adding another database to my first one and i created the html to work > showing the data but when i want to create a new entry this error occurs. I > have a new controller with everything in it but not sure why it doesnt work. > > > ActionController::UrlGenerationError in Shopping#new > > Showing C:/Sites/blog/app/views/shopping/new.html.erb where line #2 raised: > > No route matches {:action=>"show", :controller=>"shopping"} missing required > keys: [:id] > Extracted source (around line #2): > > 1 > 2 > 3 > 4 > 5 > > <h1>Shopping#new</h1> > <%= form_for @shop, url: shopping_path do |f| %> > <p> > <%= f.label :title %><br> > <%= f.text_feild :title %> > > Rails.root: C:/Sites/blog > > Application Trace | Framework Trace | Full Trace > app/views/shopping/new.html.erb:2:in > `_app_views_shopping_new_html_erb___572466137_45190848' > Request > > Parameters: > > None > Toggle session dump > Toggle env dump > Response > > Headers: > > None > > > Controller: > > class ShoppingController < ApplicationController > def new > > @shop = Shop.new > > end > > def create > @shop = Shop.new(shop_params) > > @shop.save > redirect_to @shop > end > > def show > @shop = Shop.find(params[:id]) > end > > def index > @shopping = Shop.all > end > > > > > private > def shop_params > params.require(:shop).permit(:title, :text) > end > > end > > > HTML FILE > > <h1>Shopping#new</h1> > <%= form_for @shop, url: shopping_path do |f| %> > <p> > <%= f.label :title %><br> > <%= f.text_feild :title %> > </p> > > <p> > <%= f.label :text %><br> > <%= f.text_area :text %> > </p> > > <p> > <%= f.submit %> > </p> > > <% end %> > <%= link_to 'Back', shopping_path %> > > > > > > Regards > > > > > > -- > You received this message because you are subscribed to the Google Groups > "Ruby on Rails: Talk" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To post to this group, send email to [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/rubyonrails-talk/d6758e06-1573-4431-9b82-87169d4ed426%40googlegroups.com. > For more options, visit https://groups.google.com/d/optout. ---- Jason Fleetwood-Boldt [email protected] http://www.jasonfleetwoodboldt.com/writing All material © Jason Fleetwood-Boldt 2014. Public conversations may be turned into blog posts (original poster information will be made anonymous). Email [email protected] with questions/concerns about this. -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/rubyonrails-talk/68C2F5A7-596B-433A-861C-BC678F2AEFD6%40datatravels.com. For more options, visit https://groups.google.com/d/optout.

