Rails 3 - Traitement des données dans une autre méthode d'un autre contrôleur
-
10-12-2019 - |
Question
J'ai le contrôleur avec nom class AdminsController < ApplicationController
...
def create_school_head
@user = User.new
end
...
end
Aussi j'ai vue <%= form_for @user, :html => {:class => "form-horizontal"} do |f| %>
<fieldset>
<div class="control-group">
<%= f.label :user_login, "Login", :class => "control-label" %>
<div class="controls">
<%= f.text_field :user_login %>
</div>
</div>
<div class="control-group">
<%= f.label :password, "Password", :class => "control-label" %>
<div class="controls">
<%= f.text_field :password %>
</div>
</div>
</fieldset>
<%= f.submit "Create", :class => "btn btn-success" %>
<% end %>
routes.rb
ElSchool::Application.routes.draw do
resources :users, :only => [ :new, :create, :show ]
resources :sessions, :only => [ :new, :create, :destroy ]
get "sessions/new"
match 'pages/wrong_page', :to => 'pages#wrong_page'
match '/signin', :to => 'sessions#new'
match '/signout', :to => 'sessions#destroy'
match '/admins/backups', :controller => 'admins',
:action => 'backups'
match '/admins/users_of_system', :controller => 'admins',
:action => 'users_of_system'
match '/admins/create_school_head', :controller => 'admins',
:action => 'create_school_head'
match '/admins/create_teacher', :controller => 'admins',
:action => 'create_teacher'
root :to => 'sessions#new' #Home
end
À l'heure actuelle, il passe des données pour créer une méthode de contrôleur utilisateur.Je souhaite envoyer des données de ce formulaire après que les boutons soumettent dans une autre méthode de
La solution
You can use :url option in your form_for method. Eg.,
<%= form_for @user, :url => process_school_head_url, :html => {:class => "form-horizontal"} do |f| %>
You need to have this in your route too.
match '/admins/process_school_head' => 'admins#process_school_head', :as => :process_school_head
Hope it helps.