Envío de formulario de enrutamiento a un controlador diferente

¿Cómo especifico el Controlador y la Acción en un envío de formulario? Estoy tratando de usar un Controlador de “Clientes” para crear una Cuenta y una Persona asociada (“Cliente”).

Aquí están los modelos pertinentes. Una Persona pertenece a una Cuenta directamente (a la que llamo ‘Cliente’) o a una Ubicación y Organización dentro de una Cuenta.

class Account  :linkable accepts_nested_attributes_for :organizations end class Person  true end 

Y aquí está el formulario para crear un ‘Cliente’ que estoy intentando crear junto con el rest del código:

  { :controller => "clients_controller", :action => "create" } do |f| %>  







class ClientsController < ApplicationController def new @account = Account.new @person = @account.persons.build end def create @account = Account.new(params[:account]) if @account.save flash[:success] = "Client added successfully" render 'new' else render 'new' end end end

Y aquí están mis rutas:

 ShopManager::Application.routes.draw do resources :accounts resources :organizations resources :locations resources :people resources :addresses get 'clients/new' post 'clients' end 

Al intentar representar el formulario, aparece el siguiente error:

 ActionController::RoutingError in Clients#new Showing C:/Documents and Settings/Corey Quillen/My Documents/rails_projects/shop_manager/app/views/clients/new.html.erb where line #1 raised: No route matches {:controller=>"clients_controller", :action=>"create"} Extracted source (around line #1): 1:  { :controller => "clients_controller", :action => "create" } do |f| %> 2: 3:  4: 

Tienes que decir esto en route.rb.

 resources :clients 

En el formulario, especifique la url como clients_path con el método como publicación:

 <%= form_for @account, :url => clients_path, :html => {:method => :post} do |f| %> --- <% end 

Para obtener más información sobre cómo Rails maneja las direcciones URL de REST: http://microformats.org/wiki/rest/urls