我有两个模型类,患者和处方,与belongs_to关系:
class Prescription
belongs_to :patient
...
Run Code Online (Sandbox Code Playgroud)
我有一个用于创建新处方对象的表单,我希望它能从隐藏的字段中获取患者:
<%= form_for(@prescription) do |f| %>
...
<%= f.hidden_field :patient_id, :value => @patient.id %>
...
Run Code Online (Sandbox Code Playgroud)
在处方控制器中,我想使用从表格中获得的参数创建一个新的处方:
def create
@prescription = Prescription.new(params[:prescription])
...
Run Code Online (Sandbox Code Playgroud)
有些东西不起作用.我可以在日志中看到患者id正在params中传递,但它没有插入到db中:
Started POST "/prescriptions" for 127.0.0.1 at 2011-05-13 14:59:00 +0200
Processing by PrescriptionsController#create as HTML
Parameters: {"utf8"=>"?", "authenticity_token"=>"h3rizbBoW069EfvQf6NyzH53k+g4o4XO61jeZ/GF6t0=", "prescription"=>{"medicine_name"=>"w", "dispense_date(1i)"=>"2011", "dispense_date(2i)"=>"5", "dispense_date(3i)"=>"13", "days_supply"=>"2", "patient_id"=>"1"}, "commit"=>"Create Prescription"}
WARNING: Can't mass-assign protected attributes: patient_id
Patient Load (0.2ms) SELECT "patients".* FROM "patients" WHERE "patients"."id" IS …