【发布时间】:2017-03-16 15:35:20
【问题描述】:
我有一个引导模式,当我点击按钮时,这个引导模型将被调用(打开弹出菜单)并传递不同的offer_id。
这个弹出菜单打开一个表单(如编辑表单),我编辑了所有信息然后点击编辑按钮然后只更新第一条记录。
例如我想编辑offer_id = 1的信息,当填写所有表格并提交时,offer_id = 1会更新not offer_id = 5强>.
所以我不知道我到底哪里错了,我错过了什么..
在同一页面上编辑按钮和模型 (_employee_details.html.erb)
编辑按钮
<div class="edit-recr-wrp1">
<button type="button" class="btn btn-primary fa fa-pencil-square-o" data-toggle="modal" data-target="#exampleModal1" data-offer_id="<%= emp['offer_letter_id'] %>" data-employee_id="<%= emp['employee_id'] %>"></button>
</div>
模态“#exampleModal1”
<div class="modal fade" id="exampleModal1" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
</div>
<div class="modal-body">
<h2 class="text-center">Edit <span>Employee Details</span></h2>
<div class="post-new-job head-border">
<div class="alert alert-success" role="alert" id='success-job' style='display:none;'>Employee Details is successfully added.</div>
<div class="form-body">
<%= form_for :employee_details, :url =>{:controller => "hr", :action => "update" } do |f| %>
<div class="col-md-12">
<div class="mydata1">
<%= f.text_field :offer_letter_id, { class: 'form-control', id: 'offer_id-name' } %>
</div>
<div class="form-group">
<label class="control-label">Employee ID</label>
<div class="input-group"> <span class="input-group-addon"> <i class="fa fa-user"></i> </span>
<div class="mydata2">
<%= f.text_field :employee_id, { disabled: true, :required => true, placeholder: 'E12345678', class: 'form-control', id: 'employee_id-name' } %>
</div>
</div>
</div>
<div class="form-group">
<label class="control-label">Bank Account</label>
<div class="input-group"> <span class="input-group-addon"> <i class="fa fa-university"></i> </span>
<%= f.text_field :bank_ac, { :required => true, placeholder: '06464060852634865', class: 'form-control' } %>
</div>
</div>
<div class="form-group">
<label class="control-label">Bank IFSC Code</label>
<div class="input-group"> <span class="input-group-addon"> <i class="fa fa-code"></i> </span>
<%= f.text_field :bank_ifsc, { :required => true, placeholder: 'SBI012356', class: 'form-control' } %>
</div>
</div>
<div class="form-group">
<label class="control-label">End of Date</label>
<div class="input-group"> <span class="input-group-addon"> <i class="fa fa-calendar"></i> </span>
<%= f.text_field :work_end_date, { placeholder: 'MM/DD/YYYY', id: 'datepicker1', class:"datepicker_style" } %>
</div>
</div>
<div class="form-group">
<label class="control-label">Gender</label>
<div class="input-group"> <span class="input-group-addon"> <i class="fa fa-male fa-female"></i> </span>
<%= f.select :gender, ['Male', 'Female'], { :required => true }, class: "form-control" %>
</div>
</div>
<div class="form-group">
<label class="control-label">Spouse Name</label>
<div class="input-group"> <span class="input-group-addon"> <i class="fa fa-user"></i> </span>
<%= f.text_field :spouse_name, { :required => true, placeholder: 'Father/Mother/Wife name', class: "form-control" } %>
</div>
</div> <br>
<div class="form-group">
<a><%= f.submit "Edit Employee Details", :class => "btn btn-primary" %></a>
</div>
</div>
<div class="col-md-2"></div>
<%- end -%>
</div>
</div>
</div>
</div>
</div>
</div>
<script type="text/javascript">
// edit employee information
$('#exampleModal1').on('show.bs.modal', function (event) {
var button = $(event.relatedTarget)
var offer_id = button.data('offer_id')
var employee_id = button.data('employee_id')
var modal = $(this)
modal.find('.mydata1 input').val(offer_id)
modal.find('.mydata2 input').val(employee_id)
});
</script>
<script type="text/javascript">
// edit employee information
$(document).ready(function () {
$('#datepicker1').datepicker({
format: "dd/mm/yyyy"
});
});
</script>
hr_controller.rb
类 HrController routes.rb def new
@employees = EmployeeDetail.new
end
# edit employee information
def edit
@employees = EmployeeDetail.find_by(params[:offer_letter_id])
end
def create
@employees = EmployeeDetail.new(employee_params)
if @employees.save
redirect_to :action => 'internal_employee_page'
else
redirect_to :action => 'internal_employee_page'
end
end
def show
@employees = EmployeeDetail.find(params[:id])
end
def update
@employees = EmployeeDetail.find_by(params[:offer_letter_id])
if @employees.update(employee_params)
redirect_to :action => 'internal_employee_page'
else
redirect_to :action => 'internal_employee_page'
end
end
private
def employee_params
params.require(:employee_details).permit(:offer_letter_id, :employee_id, :bank_ac, :bank_ifsc, :spouse_name, :gender, :work_end_date)
end
end
resources :hr
get 'hr/edit'
post 'hr/update'
【问题讨论】:
-
抱歉,我不清楚。首先,您说您要编辑 order_id 1 并且 order_id 已编辑 - 那么错误是什么?其次,不清楚如何以及何时呈现部分。您是否为订单列表的每个元素呈现部分内容?
-
我的问题是当我编辑offer_id = 4的信息时,然后更新offer_id = 1的所有信息,而不是offer_id = 4。我编辑offer_id = 4的信息然后应该只更新offer_id =的信息4 不是 offer_id = 1
标签: javascript jquery ruby-on-rails ruby twitter-bootstrap