ビュー内にいくつかの要素を表示し、ユーザーの選択に応じてそれらをフィルタリングする必要があります。コントローラーの結果からの変数を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 %>
],
それは完全に機能しますが、ユーザーが医師を選択して、その医師からの予約のみを表示するオプションがあります。どうすればそれを達成できますか?私はこのようにそれらをフィルタリングしようとしましたが、うまくいきません:
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 %>
],
皆さん、ありがとうございました。