首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >查找与特定medical_center关联的所有患者,而不使用嵌套路由。

查找与特定medical_center关联的所有患者,而不使用嵌套路由。
EN

Stack Overflow用户
提问于 2014-05-24 20:31:20
回答 1查看 46关注 0票数 2

我正在使用rails4和ruby2。我有两个模型: MedicalCenter和病人。医疗中心有很多病人。我没有嵌套他们的路线。请帮助我找到一个特定的medical_center_id的所有病人,并显示在医疗中心的表演行动。

代码语言:javascript
复制
class MedicalCentersController < ApplicationController
before_action :set_medical_center, only: [:show, :edit, :update, :destroy]
before_action :require_signin!

def index
@medical_centers = MedicalCenter.all
end

def show
@patients=Patient.find(:all, :conditions => ["medical_center_id = ?", params[:medical_center_id]])
end

def new
@medical_center = MedicalCenter.new
end

def edit
end

def create
@medical_center = MedicalCenter.new(medical_center_params)
respond_to do |format|
  if @medical_center.save
    format.html { redirect_to @medical_center, notice: 'Medical center was successfully created.' }
    format.json { render action: 'show', status: :created, location: @medical_center }
  else
    format.html { render action: 'new' }
    format.json { render json: @medical_center.errors, status: :unprocessable_entity }
  end
 end
end


private
def set_medical_center
  @medical_center = MedicalCenter.find(params[:id])
end
def medical_center_params
  params.require(:medical_center).permit(:name, :address, :phone_no)
end
end

show.html.erb of MedicalCenter class

代码语言:javascript
复制
Associated patients:
<% @patients.each do |s| %>
  <ul>
<li><%=link_to s.name, patient_path(s)%></li>
  </ul>
<%end%>

 routes.rb
  resources :medical_centers
  resources :patients

现在,当我去看一家医疗中心的表演时,它显示出一片空白。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-05-24 20:38:24

试着像这样改变你的show methodMedicalCentersController

代码语言:javascript
复制
def show
@patients = Patient.find(:all, :conditions => ["medical_center_id = ?",@medical_center.id])
end

更新

如果您想将这些代码放入您的MedicalCenter模型中,那么您必须这样做

代码语言:javascript
复制
#medical_center.rb

def some_method_name
@med = self.find(params[:id])
@patients = Patient.find(:all, :conditions => ["medical_center_id = ?",@med.id])
end
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23849371

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档