【发布时间】:2021-01-05 20:05:41
【问题描述】:
我在 rails 投资组合中创建。根据给定的 id 显示所有页面和单个页面的列表可以正常工作。向数据库添加新记录时出现问题:No route matches [POST] "/page/new" 这是什么原因?转到 page / new 后,添加表单正确显示。 数据库是postgresql,我也用Active Storage。
迁移/
class CreatePages < ActiveRecord::Migration[6.0]
def up
create_table :pages do |t|
t.string "name"
t.string "description"
t.string "github"
t.string "website"
end
add_index("pages","id")
end
def down
drop_table :pages
end
end
page_controller.rb
class PageController < ApplicationController
def index
@page = Page.all
end
def new
@page = Page.new
end
def show
@page = Page.find(params[:id])
end
def create
@page = Page.new(page_params)
if @page.save
redirect_to @page
else
render 'new'
end
end
def edit
end
def delete
end
private
def page_params
params.require(:page).permit(:name, :description, :github, :website)
end
end
routes.rb
Rails.application.routes.draw do
resources :page
# For details on the DSL available within this file, see https://guides.rubyonrails.org/routing.html
end
new.html.erb
<%= form_with scope: :pages, local: true do |form| %>
<%= form.label "Name" %></br>
<%= form.text_field :name %></br>
<%= form.label "Description" %></br>
<%= form.text_field :description %></br>
<%= form.label "GitHub" %></br>
<%= form.text_field :github %></br>
<%= form.label "Website" %></br>
<%= form.text_field :website %></br></br>
<%= form.submit "Add" %></br>
<% end %>
模型/page.rb
class Page < ApplicationRecord
end
铁路路线
Prefix Verb URI Pattern Controller#Action
page_index GET /page(.:format) page#index
POST /page(.:format) page#create
new_page GET /page/new(.:format) page#new
edit_page GET /page/:id/edit(.:format) page#edit
page GET /page/:id(.:format) page#show
PATCH /page/:id(.:format) page#update
PUT /page/:id(.:format) page#update
DELETE /page/:id(.:format) page#destroy
rails_postmark_inbound_emails POST /rails/action_mailbox/postmark/inbound_emails(.:format) action_mailbox/ingresses/postmark/inbound_emails#create
rails_relay_inbound_emails POST /rails/action_mailbox/relay/inbound_emails(.:format) action_mailbox/ingresses/relay/inbound_emails#create
rails_sendgrid_inbound_emails POST /rails/action_mailbox/sendgrid/inbound_emails(.:format) action_mailbox/ingresses/sendgrid/inbound_emails#create
rails_mandrill_inbound_health_check GET /rails/action_mailbox/mandrill/inbound_emails(.:format) action_mailbox/ingresses/mandrill/inbound_emails#health_check
rails_mandrill_inbound_emails POST /rails/action_mailbox/mandrill/inbound_emails(.:format) action_mailbox/ingresses/mandrill/inbound_emails#create
rails_mailgun_inbound_emails POST /rails/action_mailbox/mailgun/inbound_emails/mime(.:format) action_mailbox/ingresses/mailgun/inbound_emails#create
rails_conductor_inbound_emails GET /rails/conductor/action_mailbox/inbound_emails(.:format) rails/conductor/action_mailbox/inbound_emails#index
POST /rails/conductor/action_mailbox/inbound_emails(.:format) rails/conductor/action_mailbox/inbound_emails#create
new_rails_conductor_inbound_email GET /rails/conductor/action_mailbox/inbound_emails/new(.:format) rails/conductor/action_mailbox/inbound_emails#new
edit_rails_conductor_inbound_email GET /rails/conductor/action_mailbox/inbound_emails/:id/edit(.:format) rails/conductor/action_mailbox/inbound_emails#edit
rails_conductor_inbound_email GET /rails/conductor/action_mailbox/inbound_emails/:id(.:format) rails/conductor/action_mailbox/inbound_emails#show
PATCH /rails/conductor/action_mailbox/inbound_emails/:id(.:format) rails/conductor/action_mailbox/inbound_emails#update
PUT /rails/conductor/action_mailbox/inbound_emails/:id(.:format) rails/conductor/action_mailbox/inbound_emails#update
DELETE /rails/conductor/action_mailbox/inbound_emails/:id(.:format) rails/conductor/action_mailbox/inbound_emails#destroy
rails_conductor_inbound_email_reroute POST /rails/conductor/action_mailbox/:inbound_email_id/reroute(.:format) rails/conductor/action_mailbox/reroutes#create
rails_service_blob GET /rails/active_storage/blobs/:signed_id/*filename(.:format) active_storage/blobs#show
rails_blob_representation GET /rails/active_storage/representations/:signed_blob_id/:variation_key/*filename(.:format) active_storage/representations#show
rails_disk_service GET /rails/active_storage/disk/:encoded_key/*filename(.:format) active_storage/disk#show
update_rails_disk_service PUT /rails/active_storage/disk/:encoded_token(.:format) active_storage/disk#update
rails_direct_uploads POST /rails/active_storage/direct_uploads(.:format) active_storage/direct_uploads#create
【问题讨论】:
标签: ruby-on-rails ruby