편집 기능이 작동하지 않습니다.

Suresh

두 가지 모델이 Employee있고 Overtime DefinitionThe Associations는 이렇게 설정되어 있습니다.

종업원

class Employee < ActiveRecord::Base

has_many :overtime_definitions

초과 근무 정의

class OvertimeDefinition < ActiveRecord::Base

belongs_to :employee

직원에 대한 초과 근무 정의를 작성했는데 모두 괜찮아 보이지만 직원에 대해 동일한 내용을 편집하는 데 어려움이 있습니다.

overtime_definitions__controller :

    def new
        @flag = params[:flag]
        @employee = Employee.find(params[:id])
        @overtime = OvertimeDefinition.new
     end

      def create
        @employee = Employee.find(params[:overtime_definition][:employee_id])
        @overtime = OvertimeDefinition.new(params[:overtime_definition])
        if (params[:half_day_extra_duty_hours][:hour].to_s !="" || params[:half_day_extra_duty_hours][:minute].to_s !="")
          @overtime.half_day_extra_duty_hours   = params[:half_day_extra_duty_hours][:hour].to_s + ":" + params[:half_day_extra_duty_hours][:minute].to_s + ":" + "00"
        else
         @overtime.half_day_extra_duty_hours = nil
        end
        if (params[:full_day_extra_duty_hours][:hour].to_s !="" || params[:full_day_extra_duty_hours][:minute].to_s !="")
          @overtime.full_day_extra_duty_hours   = params[:full_day_extra_duty_hours][:hour].to_s + ":" + params[:full_day_extra_duty_hours][:minute].to_s + ":" + "00"
        else
         @overtime.full_day_extra_duty_hours = nil
        end
     if @overtime.save
      flash[:notice] = "Overtime Successfully Created for #{@employee.name}"
      redirect_to :action => 'search_overtime'
    end
  end

def edit
    @flag = params[:flag]
    @overtime = OvertimeDefinition.find(params[:id][:employee_id])
    @employee = Employee.find(params[:id])
  end

  def update
    @employee = Employee.find(params[:id])
    @overtime = OvertimeDefinition.find(params[:id])
    if @overtime.update_attributes(params[:overtime_definition])
     flash[:notice] = "Overtime Successfully Updated for #{@employee.name}"
            redirect_to :action => 'search_overtime'
    else
     render :action => 'edit',:flag=>params[:flag]
    end
  end

이것들을 편집 방법으로 시도했습니다.

  1. @overtime = OvertimeDefinition.find(params[:id][:employee_id])

    # can't convert Symbol into Integer오류가 발생합니다.

  2. @overtime = OvertimeDefinition.find(params[:id])

    #gives me Couldn't find OvertimeDefinition with ID=1353error. 실제로 1353은 해당 직원의 ID입니다.

    삼.@overtime = OvertimeDefinition.find(params[:employee_id])

    # couldn't find OvertimeDefinition without an ID오류가 발생합니다.

신규 및 수정 작업에 대한 링크가있는 내 _search_overtime_employee_list

<%=link_to "Calculation" ,:action => "new",:id=>employee.id, :flag=>"Calculation" %>

<%= link_to "Re-Calculate",:action => "edit",:id=>employee.id,:flag=>"Re-Calculate" %>

new.rhtml

<%= form_tag :action => 'create' do %>
<%= render :partial =>'form'%>
<center>
    <%= submit_tag "Save",:onclick=>"return validate()",:class=>"buttons"%>
</center>
<% end %>
<%= link_to "Back" ,:action => "search_overtime" %>

edit.rhtml

<%= form_tag :action => 'update', :id=>@employee.id,:flag=> params[:flag],:value=>params[:id] %>
<%= render :partial =>'form'%>
<center>
    <%= submit_tag "Update",:onclick=>"return validate()",:class=>"buttons"%>
</center>
<%= link_to "Back" ,:action => "search_overtime" %>

_form.rhtml

직원 세부 정보

<table cellspacing="5">
 <tr>
    <td><b>Employee Code</b></td>
    <%= hidden_field 'overtime_definition','employee_id',:value=>params[:id] %>
    <td><%= @employee.employeeid %></td>
    <td><b>Employee Name</b></td>
    <td><%= @employee.personnel.display_full_name %></td>
</tr>
<tr>
    <td><b>Department</b></td>
    <td><%=  @employee.department ? @employee.department.name : "" %></td>
    <td><b>Designation</b></td>
    <td><%= @employee.designation ? @employee.designation.name : "" %></td>
    <td><b>Location</b></td>
    <td><%= @employee.location.name%></td>
</tr>
</table>

</br>
<fieldset>
  <table cellspacing="5">

    <%= form_for :overtime_definition, :builder => LabelFormBuilder do |od| %>
    <tr>
      <td>
      <label for="half_day_extra_duty_hours">
       Half Day Extra Duty Hours
      </label>
      </td>
      <td class ="datefamily">
      <%= select_time(@overtime.half_day_extra_duty_hours, {:include_blank => true, :time_separator => ":",:prefix => "half_day_extra_duty_hours"})%>
       </td>
    </tr>
    <tr>
      <td>
      <label for="full_day_extra_duty_hours">
       Full Day Extra Duty Hours
      </label>
      </td>
     <td class ="datefamily">
     <%= select_time(@overtime.full_day_extra_duty_hours, {:include_blank => true, :time_separator => ":",:prefix => "full_day_extra_duty_hours"})%>
      </td>
  </tr>
   <tr>
    <%= od.sr_check_box :is_salary_basis, {}, true, false, :label => "Is Salary Basis"%>
    </tr>
     <tr>
    <%= od.sr_check_box :is_fixed_amount, {}, true, false, :label => "Is Fixed Amount"%>
    <td colspan="2" id="ov_hm" style="display: none">
     Half Day Amount
    <%= od.text_field :half_day_amount, :onkeypress => "return numbersonly(event)", :style => "width:40px" %>
     </td>
     <td colspan="2" id="ov_fm" style="display: none">
     Full Day Amount
     <%= od.text_field :full_day_amount, :onkeypress => "return numbersonly(event)", :style => "width:40px" %>
     </td>
 </tr>
<%end%>

</table>

편집 작업을하는 데 완전히 빠져 들었습니다. 어떤 도움이라도 대단히 감사합니다!

키르 티 토랏

현재 edit링크 :

<%= link_to "Re-Calculate",:action => "edit",:id=>employee.id,:flag=>"Re-Calculate" %>

편집 작업에서 :

@overtime = OvertimeDefinition.find (params [: id] [: employee_id]) ##는 Symbol을 Integer 오류로 변환 할 수 없습니다.

편집 링크에 따라 :id액세스 할 수있는 쿼리 매개 변수를 params[:id]. 더 없습니다 params[:id][:employee_id]당신이 말할 때 귀하의 PARAMS 해시에 params[:id][:employee_id]루비 변환을 시도 :employee_id상징 정수로. 따라서 오류입니다.

:id링크에서 OvertimeDefinition 레코드의 ID를 전달해야한다고 생각합니다 . 다음으로 액세스

@overtime = OvertimeDefinition.find(params[:id])

컨트롤러의 행동에서.

@overtime = OvertimeDefinition.find (params [: id]) ## ID = 1353 오류로 OvertimeDefinition을 찾을 수 없습니다. 실제로 1353이 해당 직원의 ID입니다.

이것은 당신이 통과 employee id하고 params[:id]있기 때문에 분명히 이것은 작동하지 않을 것입니다. 여기에 OvertimeDefinition ID를 전달해야합니다.

@overtime = OvertimeDefinition.find (params [: employee_id]) ## ID 오류없이 OvertimeDefinition을 찾을 수 없습니다.

링크 :employee_id내에서 쿼리 매개 변수를 전달하지 않습니다 edit. 따라서 params [: employee_id]는 nil이되고 findID를 전달하지 않았기 때문에 메서드가 실패합니다.

해결책 :

다음 edit link과 같이 업데이트하십시오 .

<%= link_to "Re-Calculate",:action => "edit",:id=> @overtimedefinition.id , :employee_id => employee.id,:flag=>"Re-Calculate" %> 

@overtimedefinition.idOvertimeDefinition 레코드의 적절한 ID로 바꿉니다 . 코드를 공유하지 않았으므로 OvertimeDefinition 변수의 이름을 모릅니다.

edit작업을 다음과 같이 업데이트하십시오 .

  def edit
    @flag = params[:flag]
    @overtime = OvertimeDefinition.find(params[:id])
    @employee = Employee.find(params[:employee_id])
  end

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

tinymce 편집기 크기 조정 기능이 작동하지 않습니다.

분류에서Dev

편집 가능한 JComboBox KeyPressed가 작동하지 않습니다.

분류에서Dev

WMD 편집기가 편집 양식에서 작동하지 않습니다.

분류에서Dev

Rails 'grouped_options_for_select'편집이 작동하지 않습니다.

분류에서Dev

확장 ModuleAdminController 추가 / 편집이 작동하지 않습니다.

분류에서Dev

편집 버튼이 제대로 작동하지 않습니다.

분류에서Dev

jquery 편집 게시물이 작동하지 않습니다.

분류에서Dev

Joomla에서 양식 편집이 작동하지 않습니다.

분류에서Dev

사용자 정의 TinyMCE 편집기 버튼 내에서 Wordpress 기능이 작동하지 않습니다.

분류에서Dev

Android Studio XML 편집기 자동 완성이 작동하지 않습니다.

분류에서Dev

페이지 편집기에서 encodeNameReplacements가 작동하지 않습니다.

분류에서Dev

AngularJS 편집 레코드 동작이 작동하지 않습니다.

분류에서Dev

편집기에서 내 보낸 파일 json이 작동하지 않습니다.

분류에서Dev

Google 음역이 tinymce 편집기에서 작동하지 않습니다.

분류에서Dev

X 편집 가능한 공식 예제 (jsFiddle)가 작동하지 않습니다.

분류에서Dev

Laravel nova 다중 선택 편집이 작동하지 않습니다.

분류에서Dev

수식 편집기가 Word 및 PowerPoint 2013에서 작동하지 않습니다.

분류에서Dev

tinymce 편집기 (WIRIS 플러그인)가 작동하지 않습니다.

분류에서Dev

Leaflet.Draw 편집 및 삭제 버튼이 작동하지 않습니다.

분류에서Dev

executenonquery가 작동하지 않고 편집 된 열이 없습니다.

분류에서Dev

인라인 편집이 Kendo MVC에서 작동하지 않습니다.

분류에서Dev

자동 완성이 편집 가능한 DataTable에있는 경우 탭 키가 작동하지 않습니다.

분류에서Dev

animation [ "name"]. length는 편집기에서 작동하지만 Android 빌드에서는 작동하지 않습니다.

분류에서Dev

실시간 편집 기능은 Jetbrains Chrome 확장 프로그램에서 작동하지 않습니다.

분류에서Dev

Angular 2 편집 가능한 div에서 새 줄이 제대로 작동하지 않습니다.

분류에서Dev

dconf 편집기 "auto-save-session"이 작동하지 않습니까? 14.04

분류에서Dev

Jtable 내부의 자동 완성 JCombobox-편집기에 입력이 작동하지 않습니다.

분류에서Dev

속성 테스터가 두 번째 편집기 페이지에서 작동하지 않습니다.

분류에서Dev

스프라이트 키트 레벨 편집기에서 만든 장면이 작동하지 않습니다.

Related 관련 기사

  1. 1

    tinymce 편집기 크기 조정 기능이 작동하지 않습니다.

  2. 2

    편집 가능한 JComboBox KeyPressed가 작동하지 않습니다.

  3. 3

    WMD 편집기가 편집 양식에서 작동하지 않습니다.

  4. 4

    Rails 'grouped_options_for_select'편집이 작동하지 않습니다.

  5. 5

    확장 ModuleAdminController 추가 / 편집이 작동하지 않습니다.

  6. 6

    편집 버튼이 제대로 작동하지 않습니다.

  7. 7

    jquery 편집 게시물이 작동하지 않습니다.

  8. 8

    Joomla에서 양식 편집이 작동하지 않습니다.

  9. 9

    사용자 정의 TinyMCE 편집기 버튼 내에서 Wordpress 기능이 작동하지 않습니다.

  10. 10

    Android Studio XML 편집기 자동 완성이 작동하지 않습니다.

  11. 11

    페이지 편집기에서 encodeNameReplacements가 작동하지 않습니다.

  12. 12

    AngularJS 편집 레코드 동작이 작동하지 않습니다.

  13. 13

    편집기에서 내 보낸 파일 json이 작동하지 않습니다.

  14. 14

    Google 음역이 tinymce 편집기에서 작동하지 않습니다.

  15. 15

    X 편집 가능한 공식 예제 (jsFiddle)가 작동하지 않습니다.

  16. 16

    Laravel nova 다중 선택 편집이 작동하지 않습니다.

  17. 17

    수식 편집기가 Word 및 PowerPoint 2013에서 작동하지 않습니다.

  18. 18

    tinymce 편집기 (WIRIS 플러그인)가 작동하지 않습니다.

  19. 19

    Leaflet.Draw 편집 및 삭제 버튼이 작동하지 않습니다.

  20. 20

    executenonquery가 작동하지 않고 편집 된 열이 없습니다.

  21. 21

    인라인 편집이 Kendo MVC에서 작동하지 않습니다.

  22. 22

    자동 완성이 편집 가능한 DataTable에있는 경우 탭 키가 작동하지 않습니다.

  23. 23

    animation [ "name"]. length는 편집기에서 작동하지만 Android 빌드에서는 작동하지 않습니다.

  24. 24

    실시간 편집 기능은 Jetbrains Chrome 확장 프로그램에서 작동하지 않습니다.

  25. 25

    Angular 2 편집 가능한 div에서 새 줄이 제대로 작동하지 않습니다.

  26. 26

    dconf 편집기 "auto-save-session"이 작동하지 않습니까? 14.04

  27. 27

    Jtable 내부의 자동 완성 JCombobox-편집기에 입력이 작동하지 않습니다.

  28. 28

    속성 테스터가 두 번째 편집기 페이지에서 작동하지 않습니다.

  29. 29

    스프라이트 키트 레벨 편집기에서 만든 장면이 작동하지 않습니다.

뜨겁다태그

보관