При создании я получаю пропущенные параметры.
Rails Error: `ActionController::ParameterMissing in ClientsController#create`
Консоль params.inspect:
<ActionController::Parameters {\"utf8\"=>\"✓\", \"authenticity_token\"=>\"yJ/iKj06W/385SQ8aGUJAiDd94KiYgg3nxKueXxqr2FKcPy/hUb84GzUar3ILAumBc9PrCdKthQnvhf73UVrAw==\", \"client\"=>{\"genero\"=>\"0\", \"nome\"=>\"asdfasdf\", \"sobrenome\"=>\"asdf \", \"nacionalidade\"=>\"\", \"estadocivil\"=>\"asdf \", \"capacidade\"=>\"\", \"profissao\"=>\"\", \"empresa_atual\"=>\"\", \"nascimento(1i)\"=>\"2020\", \"nascimento(2i)\"=>\"3\", \"nascimento(3i)\"=>\"21\", \"nome_mae\"=>\"\", \"nb\"=>\"\", \"rg\"=>\"\", \"cpf\"=>\"\", \"email\"=>\"\", \"endereco\"=>\"\", \"cidade\"=>\"\", \"estado\"=>\"\", \"dados_bancarios\"=>\"\", \"cep\"=>\"\", \"telefone\"=>\"\", \"notas\"=>\"\"}, \"commit\"=>\"Create Client\", \"controller\"=>\"clients\", \"action\"=>\"create\"} permitted: false>
Rails S Консоль:
Completed 400 Bad Request in 4ms (ActiveRecord: 0.0ms)
ActionController::ParameterMissing (param is missing or the value is empty: nome):
app/controllers/clients_controller.rb:39:in `client_params'
app/controllers/clients_controller.rb:16:in `create'
Started PUT "/__web_console/repl_sessions/958f11109b1c4a183934f5e50e0c76b8" for ::1 at 2020-03-21 19:41:33 -0300
Started PUT "/__web_console/repl_sessions/958f11109b1c4a183934f5e50e0c76b8" for ::1 at 2020-03-21 19:41:38 -0300
Started PUT "/__web_console/repl_sessions/958f11109b1c4a183934f5e50e0c76b8" for ::1 at 2020-03-21 19:41:47 -0300
Мой контроллер is:
class ClientsController < ApplicationController
def create
@client = Client.new(client_params)
if @client.save
redirect_to clients_path
else
render :new
end
end
private
def client_params
params.require(:nome).permit(:sobrenome, :nacionalidade)
end
end
Моя модель:
class Client < ApplicationRecord
attr_accessor :nome, :sobrenome, :nacionalidade, :asd, :nome, :genero, :nome, :sobrenome, :nacionalidade, :estadocivil, :capacidade, :profissao, :empresa_atual, :nascimento, :nome_mae, :nb, :rg, :cpf, :email, :endereco, :cidade, :estado, :dados_bancarios, :cep, :telefone, :notas
validates :nome, presence: true
end
Мои маршруты:
Rails.application.routes.draw do
get 'pages/home'
root to: 'pages#home'
resources :clients
end
Представления SimpleForm / клиенты / _form. html .erb и новые . html .erb:
<%= simple_form_for @client do |f| %>
<%= f.input :genero, label: 'Gênero' %>
<%= f.input :nome, label: 'Nome' %>
<%= f.input :sobrenome, label: 'Sobrenome' %>
<%= f.input :nacionalidade, label: 'Nacionalidade' %>
<%= f.input :estadocivil, label: 'Estado Civil' %>
<%= f.input :capacidade, label: 'Capacidade' %>
<%= f.input :profissao, label: 'Profissão' %>
<%= f.input :empresa_atual, label: 'Empresa Atual' %>
<%= f.input :nascimento, label: 'Data de Nascimento' %>
<%= f.input :nome_mae, label: 'Nome da Mãe' %>
<%= f.input :nb, label: 'Número de Benefício' %>
<%= f.input :rg, label: 'Número de RG' %>
<%= f.input :cpf, label: 'CPF' %>
<%= f.input :email, label: 'E-mail' %>
<%= f.input :endereco, label: 'Endereço' %>
<%= f.input :cidade, label: 'Cidade' %>
<%= f.input :estado, label: 'Estado' %>
<%= f.input :dados_bancarios, label: 'Dados Bancários' %>
<%= f.input :cep, label: 'CEP' %>
<%= f.input :telefone, label: 'Telefone' %>
<%= f.input :notas, label: 'Notas' %>
<%= f.button :submit %>
<% end %>
<%= render 'form', client: @client %>
Даже когда я изменяю сильные параметры или что-то еще, параметры не go, все данные равны нулю.