【发布时间】:2026-01-14 15:55:01
【问题描述】:
我有 3 个模型,其中员工拥有_many 保险和员工拥有_many 教育以及保险和教育都属于_员工。
整个流程运行良好。
现在我有一个要求,当我点击员工 -> 编辑时,我必须在编辑表单下显示一个带有保险和教育链接的侧边栏。当我点击保险/教育时,它应该呈现在同一个编辑页面中。
员工/edit.html.erb
<h1>
<%= @employee.full_name %>
</h1>
<div class="tabpanel">
<div class="tab-content">
<div class="tab-pane active" id="home" role="tabpanel">
<%= render 'form' %>
</div>
</div>
</div>
<%= render 'layouts/sidebar' %>
layouts/_sidebar.html.erb
<div class="sidebar">
<ul class="nav">
<li>
<%= link_to image_tag("Insurances.png")+"Insurances", employee_insurances_path(@employee) %>
</li>
<li>
<%= link_to image_tag("Education.png")+"Education", employee_educations_path(@employee) %>
</li>
</ul>
</div>
我的保险控制人
class InsurancesController < ApplicationController
before_action :set_insurance, only: [:show, :edit, :update, :destroy]
respond_to :html
def index
@employee = Employee.find(params[:employee_id])
@insurances = @employee.insurances.all
respond_with(@insurances)
end
def show
@employee = Employee.find(params[:employee_id])
respond_with(@insurance)
end
def new
@employee = Employee.find(params[:employee_id])
@insurance = @employee.insurances.build
end
def edit
@employee = Employee.find(params[:employee_id])
end
def create
@employee = Employee.find(params[:employee_id])
@insurance = @employee.insurances.create(insurance_params)
redirect_to employee_path(@employee)
end
def update
@employee = Employee.find(params[:employee_id])
@insurance.update(insurance_params)
redirect_to employee_path(@employee)
end
def destroy
@employee = Employee.find(params[:employee_id])
@insurance.destroy
redirect_to employee_path(@employee)
end
private
def set_insurance
@insurance = Insurance.find(params[:id])
end
def insurance_params
params.require(:insurance).permit(:name_of_dependent, :relationship,:policy_numbere)
end
end
知道当我点击侧边栏链接时如何呈现同一页面吗?
【问题讨论】:
标签: ruby-on-rails