現在オリジナルアプリでカルテアプリを作っています。患者さんの観察項目を入力した後にshowページで表形式で横に時系列でデータを表示させたいと思っています。
コントローラにデータにorderメソッドを使用すると”no method error”が出ることや、orderメソッドを外して行うと、ビューではeach文を使用し記述するのですが、syntaxerrorが出る事などが続いています。
rails6.0.0を使用しています。
初心者です。宜しくお願いいたします。
||列1|列2|列3|
|:--|:--:|--:|
|時間|10:00|11:00|12:00|
|体温|36.5|37.1|37.3|
|脈拍|66|67|71|
一番上の列1,2,3は本来は無しです。
ruby
1Rails.application.routes.draw do 2 devise_for :users 3 get 'patients/index' 4 root to: "patients#index" 5 resources :users, only: [:edit, :update] 6 resources :patients, only: [:new, :create, :index, :show, :edit, :update] do 7 resources :observations, only: [:new, :create, :edit, :show, :update] 8 end 9end
ruby
1class ObservationsController < ApplicationController 2 before_action :set_patient, only: [:new, :create, :edit, :update, :show] 3 before_action :set_observation, only: [:edit, :update, :show] 4 5 def new 6 @observation = Observation.new 7 end 8 9 def create 10 @observation = Observation.new(observation_params) 11 if @observation.save # バリデーションをクリアした時 12 redirect_to patient_path(@patient) 13 else 14 render :new # バリデーションに弾かれた時 15 end 16 end 17 18 def show 19 @observation = Observation.find_by(patient_id: params[:patient_id]).order("time") 20 end 21 22 def update 23 if @observation.update(observation_params) # バリデーションをクリアした時 24 redirect_to patient_observation_path(@observation) 25 else 26 render :edit # バリデーションに弾かれた時 27 end 28 end 29 30 private 31 32 def observation_params 33 params.require(:observation).permit(:temperature, :pulse, :respiration, :high_blood_pressure, :low_blood_pressure, :spo2, :food_intake, 34 :water_intake, :excresion, :ex_amount, :atten_sound, :atten_part, :sputum, :cough, :sleep, :time, :hainyou).merge(user_id: current_user.id, patient_id: params[:patient_id], user_name: current_user.name) 35 end 36 37 def set_patient 38 @patient = Patient.find(params[:patient_id]) 39 end 40 41 def set_observation 42 @observation = Observation.find(params[:patient_id]) 43 end 44end 45
ruby
1<div class="item-show"> 2 <div class="item-box"> 3 <table class="detail-table"> 4 <tbody> 5 <% @patient,@observation.each do |observation| %> 6 <tr> 7 <th>観察時間</th> 8 <td><%= observation.time %></td> 9 </tr> 10 <tr> 11 <th>体温</th> 12 <td><%= observation.temperature %></td> 13 </tr> 14 <tr> 15 <th>脈拍数</th> 16 <td><%= observation.pulse %></td> 17 </tr> 18 <tr> 19 <th>呼吸数/分</th> 20 <td><%= observation.respiration %></td> 21 </tr> 22 <tr> 23 <th>最高血圧</th> 24 <td><%= observation.high_blood_pressure %></td> 25 </tr> 26 <tr> 27 <th>最低血圧</th> 28 <td><%= observation.low_blood_pressure %></td> 29 </tr> 30 <tr> 31 <th>SPO2</th> 32 <td><%= observation.spo2 %></td> 33 </tr> 34 <tr> 35 <th>食事摂取量</th> 36 <td><%= observation.food_intake %></td> 37 </tr> 38 <tr> 39 <th>水分摂取量</th> 40 <td><%= observation.water_intake %></td> 41 </tr> 42 <tr> 43 <th>便の性状</th> 44 <td><%= observation.excresion %></td> 45 </tr> 46 <tr> 47 <th>便の量</th> 48 <td><%= observation.ex_amount %></td> 49 </tr> 50 <tr> 51 <th>排尿状況</th> 52 <td><%= observation.hainyou %></td> 53 </tr> 54 <tr> 55 <th>呼吸の副雑音</th> 56 <td><%= observation.atten_sound %></td> 57 </tr> 58 <tr> 59 <th>副雑音の部位</th> 60 <td><%= observation.atten_part %></td> 61 </tr> 62 <tr> 63 <th>痰の性状</th> 64 <td><%= observation.sputum %></td> 65 </tr> 66 <tr> 67 <th>咳の性状</th> 68 <td><%= observation.cough %></td> 69 </tr> 70 <tr> 71 <th>睡眠状況</th> 72 <td><%= observation.sleep %></td> 73 </tr> 74 <tr> 75 <th>記録者名</th> 76 <td><%= observation.user_name %></td> 77 </tr> 78 <% end %> 79 </tbody> 80 </table> 81 <div class="option"> 82 <div class="favorite-btn"> 83 <%= image_tag "くま看護師.png" ,class:"favorite-star-icon" ,width:"40",height:"40"%> 84 <%= link_to "観察項目編集", edit_patient_observation_path %> 85 </div> 86 <div class="report-btn"> 87 <%= image_tag "レントゲン1.jpg" ,class:"report-flag-icon" ,width:"40",height:"40"%> 88 <%= link_to "検査結果参照", '#' %> 89 </div> 90 <div class="treatment-btn"> 91 <%= image_tag "点滴.jpeg" ,class:"treatment-icon" ,width:"40",height:"40"%> 92 <%= link_to "処置の入力", '#' %> 93 </div> 94 </div> 95 </div> 96</div>
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。