Não temos mais permissão para usar attr acessível no Rails 4, agora a maneira de obter parâmetros de nossos formulários de criação e atualização é através de ** parâmetros fortes **.
// In the Restaurant model
class Restaurant < ActiveRecord::Base
has_and_belongs_to_many :cuisines
end
// In the restaurant_controller
def restaurant_params
params[:restaurant].permit(
:name,
:address,
:phone,
{:cuisine_ids => []}
),
end
Dessa forma, quando chamamos params para nossos métodos de criação e atualização de restaurante, passamos a eles a função restaurant_params.
Rails lida automaticamente com a inserção e atualização de nossos modelos relacionados, neste caso, Cuisine, se passarmos um array cuisine_ids contendo os ids das instâncias de Cuisine.
Usando parâmetros fortes , precisamos definir que ids de cozinha é um array.
{
:cuisine_ids => []
}