Princípios básicos do controlador

A convenção de nomenclatura de controladores em Rails favorece a pluralização da última palavra no nome do controlador, embora não seja estritamente necessária (por exemplo, ApplicationController).

A convenção de nomenclatura do controlador difere da convenção de nomenclatura dos modelos, que esperavam ser nomeados no singular.

Métodos

Um método é criado usando a instrução def. Por exemplo:

class ClientsController < ApplicationController
def new
end
end

Por exemplo, se um usuário for para / clients / new em sua aplicação para adicionar um novo cliente, Rails criará uma instância de ClientsController e executará o novo método.

Parâmetros

Provavelmente, você desejará acessar os dados enviados pelo usuário ou outros parâmetros nas ações do controlador. Existem dois tipos de parâmetros possíveis em um aplicativo da web. Os primeiros são parâmetros enviados como parte do URL, chamados de parâmetros de string de consulta. A string de consulta é tudo depois de “?” no URL. O segundo tipo de parâmetro geralmente é conhecido como dados POST.

Rails ** não ** faz qualquer distinção entre parâmetros de string de consulta e parâmetros POST, e ambos estão disponíveis no hash de parâmetros em seu controlador:

def create
@client = Client.new(params[:client])
if @client.save
redirect_to
@client
else
# This line overrides the default rendering behavior, which
# would have been to render the "create" view.
render
"new"
end
end