2014-06-15 75 views
1

我有問題,因爲當我嘗試使用形式,我得到錯誤unknown_attribute id_lekarza(與id_pacjenta相同,id_poradni),我不知道是什麼原因,請大家幫忙 形式將數據添加到我的數據庫:紅寶石加入DB

<div id="container"> 

<%= form_for(@refferal) do |f| %> 
    <div class="field"> 
    <%= f.label :rodzaj_badania %><br /> 
    <%= f.text_field :rodzaj_badania, placeholder: "Podaj jakie badanie ma byc wykonane", size: 35 %> 
    </div> 
    <div class="field"> 
    <%= f.label :ilosc_badan %><br /> 
    <%= f.number_field :ilosc_badan, placeholder: "Wpisz ilosc badan" %> 
    </div> 
    <div class="field"> 
    <%= f.label :opis %><br /> 
    <%= f.text_field :opis, placeholder: "Podaj krótki opis dla pracownika rejestracji/laboratorium", size: 50%> 
    </div> 
    <div class="field"> 
    <%= f.label :data %><br /> 
    <%= f.datetime_select :data, placeholder: "Podaj termin badania" %> 
    </div> 
    <div class="field"> 
    <%= f.hidden_field :id_lekarza, :value => Doctor.find(session[:current_doctor_id]).id %> 
    </div> 
    <div class="field"> 
    <%= f.hidden_field :id_pacjenta, :value => Patient.find(session[:current_patient_id]).id %> 
    </div> 
    <div class="field"> 
    <%= f.hidden_field :id_poradni, :value => Clinic.find(session[:current_clinic_id]).id %> 
    </div> 
    <div class="actions"> 
    <%= f.submit "Utwórz skierowanie" %> 
    </div> 
<% end %> 
</div> 

型號:

class Refferal < ActiveRecord::Base 
    attr_accessible :data, :id_lekarza, :id_pacjenta, :id_poradni, :id_pracownika, :ilosc_badan, :opis, :rodzaj_badania 
    belongs_to :patient 
    belongs_to :employee 
    belongs_to :clinic 
    belongs_to :doctor 

    has_many :laboratoria 

end 

模式:

create_table "refferals", force: true do |t| 
    t.string "rodzaj_badania" 
    t.integer "ilosc_badan" 
    t.string "opis" 
    t.datetime "data" 
    t.integer "id_lekarza" 
    t.integer "id_pacjenta" 
    t.integer "id_pracownika" 
    t.integer "id_poradni" 
    t.datetime "created_at" 
    t.datetime "updated_at" 
    end 

回答

2

它看起來像你的belongs_to協會可能是你的問題。 Rails對於你期望命名的東西真的很有見地。如果你的模型屬於醫生(Refferal模型就是這種情況),Rails期望該屬性被稱爲doctor_id

試試這個:

更改的屬性名稱從:id_lekarza:lekarza_id,等換了別人。然後改變你的模型協會指定實際的類的屬性屬於:

class Refferal < ActiveRecord::Base 
    attr_accessible :data, :id_lekarza, :id_pacjenta, :id_poradni, :id_pracownika, :ilosc_badan, :opis, :rodzaj_badania 

    belongs_to :pacjenta, class_name: 'Patient' 
    belongs_to :employee 
    belongs_to :poradni, class_name: 'Clinic' 
    belongs_to :lekarza, class_name: 'Doctor' 
    has_many :laboratoria 
end 

此外,你可能會想你的has_many協會改爲複數:has_many :laboratorias

祝你好運!

+0

謝謝,我已經遷移了這張表,並將外鍵更改爲doctor_id,patient_id,現在可以工作:)非常感謝;) – smiaro

0

我不知道CL儘管如此,但我的猜測是ID可能只是作爲參考。

嘗試重命名字段;

id_lekarza, id_pacjenta , id_pracownika, id_poradni 

lekarza, pacjenta , pracownika, poradni