我需要在我的視圖中顯示一些元素,然後根據用戶選擇進行篩選。我試圖比較來自控制器結果與JavaScript變量的變量,但似乎在這種情況下是不可能的。如何篩選結果從視圖中的控制器
我有以下型號:
create_table "appointments", force: true do |t|
t.integer "doctor_id"
t.integer "user_id"
t.datetime "start_date"
t.datetime "created_at"
t.datetime "updated_at"
t.datetime "end_date"
end
在我的控制器我有這個讓所有約會:
@appointments = Appointment.all
現在我查看裏面我顯示所有約會是這樣的:
events:
[
<% @appointments.each do |appointment| %>
{
id : "<%= appointment.id %>",
title : "Reserved",
start : "<%= appointment.start_date.in_time_zone.strftime '%Y-%m-%dT%H:%M:%S' %>",
end : "<%= appointment.end_date.in_time_zone.strftime '%Y-%m-%dT%H:%M:%S' %>",
allDay : false
},
<% end %>
],
完美的作品,但我有一個選項,用戶可以選擇一個醫生,只有appoi應該出現該醫生的資料。我怎麼能做到這一點?我試圖像這樣過濾它們,但它不起作用:
events:
[
<% @appointments.each do |appointment| %>
if <%= appointment.doctor_id %> == doctor_id{
{
id : "<%= appointment.id %>",
title : "Reserved",
start : "<%= appointment.start_date.in_time_zone.strftime '%Y-%m-%dT%H:%M:%S' %>",
end : "<%= appointment.end_date.in_time_zone.strftime '%Y-%m-%dT%H:%M:%S' %>",
allDay : false
},
}
<% end %>
],
謝謝大家。
謝謝,但不起作用,因爲doctor_id是一個javascript變量,我在用戶從下拉菜單中選擇一個選項後創建。我收到以下錯誤:「未定義的本地變量或方法'doctor_id'」 – Cristiano
@ ZdravkoVajudin我認爲比較JavaScript變量和ruby/rails變量的唯一方法是在選擇框更改後發生ajax post請求,然後轉到一個控制器,該控制器將JavaScript的約會'doctor_id'發送回去。我會用我正在談論的內容更新我的答案。 – jvperrin
@ZdravkoVajudin我已經更新了我的答案,希望它能更好地工作。 – jvperrin