【发布时间】:2016-09-23 12:44:18
【问题描述】:
我在使用链接到当前控制器上名为“Clients”的“New”操作的按钮时遇到问题。
点击后会显示 Rails 路由错误:
没有路由匹配 [POST] "clients/new"
这是我正在使用的产生错误的代码:
<%= button_to("New Client", new_client_path, :class => "btn btn-lg btn-primary pull-right add-button" ) %>
如果我将路径更改为clients_path,如下所示:
<%= button_to("New Client", clients_path, :class => "btn btn-lg btn-primary pull-right add-button" ) %>
然后我得到以下错误:
未知操作。找不到 ClientsController 的“创建”操作
控制器操作新建和创建:
def new
@client = Client.new
end
def create
@client = Client.new(client_params)
if @client.save
flash[:notice] = "Client added succesfully."
redirect_to client_path(@client)
else
render 'new'
end
end
routes.rb 文件包含以下内容:
Rails.application.routes.draw do
get 'clients/index'
get 'clients/show'
get 'clients/new'
get 'clients/edit'
get 'clients/delete'
resources :clients
end
现在clients 是我创建的唯一资源。使用 RESTful 路由轻松创建链接我缺少什么?
【问题讨论】:
标签: ruby-on-rails rest routing