javascript - id_number 变量在 url 中使用时返回 null

标签 javascript jquery ruby-on-rails

index.html.erb

<div id="id_number">-</div>

<script type="text/javascript">
  $(document).ready(function() {

    $('#commendations_click').click(function(evt) {
      evt.preventDefault();
      window.location = "<%=j commendations_path(format: 'pdf') %>" 
        + "?idnumber=" + $('#id_number').html() 
        + "&amp;employee_movement_id=" + $('#employee_movements_select').val()
    });

    $('#empname').autocomplete({ 
      source: $('#empname').data('autocomplete-source'), 
      select: function( event, ui ) {
        $("#empname").val(ui.item.last_name + ', ' + ui.item.first_name + ' ' + ui.item.middle_name);
        $("#name").html(ui.item.last_name + ', ' + ui.item.first_name + ' ' + ui.item.middle_name);
        $("#id_number").html(ui.item.id_number);

        $.ajax({
          url: "<%= update_employee_movements_path %>",
          data: { id_number : ui.item.id_number },
          dataType: "script"
        });

        return false;
      }
    })
    .data( "ui-autocomplete" )._renderItem = function( ul, item ) {
      return $( "<li>" )
        .append( "<a>Name: " + item.last_name + ', ' + item.first_name + ' ' + item.middle_name + "<br>ID: " + item.id_number + "</a>" )
        .appendTo( ul );
    };

  });
</script>

reports_controller.rb

def commendations
  emdates = EmployeeMovement.last_2_dates_obtained(params[:employee_movement_id])
  date_from = emdates[0].date_obtained
  date_to   = emdates.length == 1 ? nil : emdates[1].date_obtained
  emp       = Employee.find_by_id_number(params[:id_number])

  ...more code below...
end

请看一下最后一行。这里,params[:id_number] 将返回 nil。但是,如果我将 URL 中的 id_number 更改为 idnumber,并调用 params[:idnumber],我将获得相关值。

为什么从我的表彰操作中访问 id_number 时会返回 nil?有这方面的约定吗?约定是在 jquery 端还是在 Rails 端?

最佳答案

在 HTML 代码中的某个位置,元素的 ID 是 idnumber 而不是 id_number。这不是约定,而是代码中的拼写错误。

关于javascript - id_number 变量在 url 中使用时返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21260461/

相关文章:

javascript - 在以下情况下,如何在主菜单悬停时显示子菜单项?

javascript - 将点击事件绑定(bind)到jquery.appear

ruby-on-rails - Rails 3 新表单助手和 ERB 的语法错误

ruby-on-rails - 查询 postgresql View 时 Active Record 转换日期不一致

ruby-on-rails - 如何将哈希中的字符串转换为整数

javascript - 如何在 HTML 中显示来自 Ajax 的数组数据(在 Laravel 4.1 中)

javascript - 如何在设置为显示 : none 后更改显示属性的值

javascript - 从 div 获取特定类型的直接子代的数量

javascript - 删除仅包含一种类别的 Highcharts 中轴和列之间的空格

javascript - jQuery CSS 位置不工作