1

私は病院のスペイン語システムに取り組んでいます。ペルソナという名前の足場を手に入れました。

私のコントローラーでは、ほとんどの場合と同様に、「新しい」メソッドと「作成」メソッドを取得しました。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, email, estado_cd, estado_civil_cd, estudio_id, fecha_defuncion, fecha_nacimiento, nombre_comercial, nombres, nro_hijos, numero_doc, ocupacion, ocupacion_id, 、 、、、 origen_etnico_cdprofesionprofesion_idrazon_socialreligion_cdreligion_stringrepresentanterucservicio_basico_gral_idsexo_cdtelf_contactotelf_fijotelf_moviltipo_documento_cdubigeo_direccion_idubigeo_nacimiento_idupdated_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"=>"ペルソナの作成"}

4

1 に答える 1

0

わかった、そうあるべきだ

params[:hds_persona]

私の作成方法で。

ありがとうございました!

于 2013-06-26T16:57:35.217 に答える