Ruby on rails Rails表单_(新)重定向到提交后显示

Ruby on rails Rails表单_(新)重定向到提交后显示,ruby-on-rails,forms,devise,Ruby On Rails,Forms,Devise,我正在使用管理会话创建一个新的客户端。当我提交表单时,我需要它重定向到该客户端显示页面,但@client id此时等于nil。我使用Desive进行身份验证,所以当管理员创建客户端时,它会直接进入客户端主页。我需要转到“管理员”客户端索引。谢谢你的帮助 <%= form_for @client, :url => client_path(@client) do |f| %> <p> <%= f.label :name, "Empresa" %> &l

我正在使用管理会话创建一个新的客户端。当我提交表单时,我需要它重定向到该客户端显示页面,但@client id此时等于nil。我使用Desive进行身份验证,所以当管理员创建客户端时,它会直接进入客户端主页。我需要转到“管理员”客户端索引。谢谢你的帮助

<%= form_for @client, :url => client_path(@client) do |f| %>

  <p> <%= f.label :name, "Empresa" %> <%= f.text_field :name %></p>
  <p> <%= f.label :email %> <%= f.text_field :email %> </p>
  <p> <%= f.label :password %> <%= f.text_field :password %> </p>
  <p> <%= f.label :contact %> <%= f.text_field :contact %></p>

  <%= f.submit "Create", :class => "btn btn-primary" %>
client_路径(@client)do | f |%>

“btn btn主要”%>
是否在clients\u controller.rb方法new上创建新的客户端实例? 同样在你的表格上,我相信
就足够了 例如:

“管理员”客户端索引

如果是,则需要在所有对象和路径引用中处理名称空间:

<%= form_for [:admin, @client] do |f| %> #-> sends to admin/clients#create

另外,您需要确保没有将HTML用作样式设置机制

我看到人们一直在使用

进行造型;这是错误的。您有一个完整的CSS管道来设置表单的样式:

#app/assets/stylesheets/application.css
form input {
   margin: 10px 0;
}

您可以在这里看到这一点:

谢谢泰雷兹,但它不会发送到客户机控制器,因为我正在使用Desive进行身份验证。因此,当管理员创建客户端时,它直接进入客户端主页。我想转到“管理员”客户端索引。我希望我很清楚谢谢Rich,我刚开始工作。还感谢CSS推荐(我只是在测试,所以我添加了这些标签以获得清晰的视图),不过我会记住它。
#config/routes.rb
namespace :admin do
   resources :clients, only: [:new, :create, :index]
end

#app/controllers/admin/clients_controller.rb
class Admin::ClientsController < ApplicationController
   before_action :authenticate_user!

   def index
      @clients = Client.all
   end

   def new
      @client = Client.new
   end

   def create
      @client = Client.new client_params
      @client.save
   end

end
#app/assets/stylesheets/application.css
form input {
   margin: 10px 0;
}