私は病院のスペイン語システムに取り組んでいます。ペルソナという名前の足場を手に入れました。
私のコントローラーでは、ほとんどの場合と同様に、「新しい」メソッドと「作成」メソッドを取得しました。new_persona ビュー (フォーム付き) にアクセスして、いくつかのデータを入力できます。問題は、挿入した人を作成したいときに、次のエラーが発生することです。
"ActiveRecord::StatementInvalid in Hds::PersonasController#create"
さらに、2列をnullにすることはできないと言っています。確かに、この2つの列を空にしたくないので、nullをfalseにするというmysqlオプションを取得しました。問題は、それらのフィールドに何かを挿入した場合でも、レールがこのエラーを発生させることです。あなたが私を理解し、私を助けてくれることを願っています. ここにコード:
personas_controller 新規および作成:
def new
@persona = Hds::Persona.new
respond_to do |format|
format.html # new.html.erb
format.json { render json: @persona }
end
end
def create
@persona = Hds::Persona.new(params[:persona])
respond_to do |format|
if @persona.save!
format.html { redirect_to @persona, notice: 'Persona was successfully created.' }
format.json { render json: @persona, status: :created, location: @persona }
else
format.html { render action: "new" }
format.json { render json: @persona.errors, status: :unprocessable_entity }
end
end
end
形:
<%= form_for(@persona, :validate=>true) do |f| %>
<% if @persona.errors.any? %>
<div id="error_explanation">
<h2><%= pluralize(@persona.errors.count, "error") %> prohibited this persona from being saved:</h2>
<ul>
<% @persona.errors.full_messages.each do |msg| %>
<li><%= msg %></li>
<% end %>
</ul>
</div>
<% end %>
<table class="form_table">
<tr class="partial_head">
<th colspan="2">
<h3>Datos personales</h3>
</th>
</tr>
<tr>
<div class="field">
<td><%= f.label :numero_doc %></td>
<td><%= f.text_field :numero_doc %></td>
</div>
</tr>
[...]
</table>
f.submit
<% end %>
助けてくれてありがとう!!こんにちは、コロラド州
ここに完全なエラーメッセージがあります:
Mysql2 ::エラー: 列 ' apellido_pat 'をnullに すること はできません : INSERT INTO
hds_personas
(apellido_mat
,apellido_pat
,centro_trabajo
,ciudadania
,ciudadania2_id
,ciudadania_id
,conctacto
,created_at
,direccion
,documento_ident_id
,estado_cd
,estado_civil_cd
,estudio_id
,fecha_defuncion
,fecha_nacimiento
,nombre_comercial
,nombres
,nro_hijos
,numero_doc
,ocupacion
,ocupacion_id
, 、 、、、origen_etnico_cd
profesion
profesion_id
razon_social
religion_cd
religion_string
representante
ruc
servicio_basico_gral_id
sexo_cd
telf_contacto
telf_fijo
telf_movil
tipo_documento_cd
ubigeo_direccion_id
ubigeo_nacimiento_id
updated_at
) 値 (NULL、NULL、NULL、NULL、NULL、NULL、NULL、'2013-06-24 07:39:24'、NULL、NULL、NULL、NULL、NULL、NULL、NULL、NULL、NULL、NULL、ヌル、ヌル、ヌル、ヌル、ヌル、ヌル、ヌル、ヌル、ヌル、ヌル、ヌル、ヌル、ヌル、ヌル、ヌル、ヌル、ヌル、ヌル、ヌル、ヌル、'2013-06-24 07:39: 24')
そしてここにパラメータ:
{"utf8"=>"✓", "authenticity_token"=>"VYHiP9/zLNjZ0ElAFh1IeC4s5X5oxVFFhpbmbK2oVAs=", "hds_persona"=>{"numero_doc"=>"", "sexo"=>"masculino", "nombres"=> "test", "apellido_pat"=>"test", "apellido_mat"=>"", "direccion"=>"", "fecha_nacimiento"=>"", "estado_civil"=>"soltero", "nro_hijos"= >""、"telf_movil"=>""、"email"=>""、"ubigeo_direccion_id"=>""、"ubigeo_nacimiento_id"=>""、"ciudadania_id"=>""、"ciudadania2_id"=>" "、"origen_etnico"=>"asiatico", "religion"=>"catolico", "estudio_id"=>"", "ocupacion_id"=>"", "profesion_id"=>""}, "commit"=>"ペルソナの作成"}