小编tay*_*low的帖子

输入数字字段时移动浏览器上“输入/下一步”键的行为

我在这里有一行代码(不涉及表单):

<input type="number" min="0" max="9999999" id="inSku" name="inSku">
Run Code Online (Sandbox Code Playgroud)

之前,我使用type="text", 但在默认情况下提供全键盘的移动浏览器上,有问题的框只接受数字输入。从逻辑上讲,移动浏览器在专注于某个type="number"字段时将更改为唯一数字键盘- 但是,我目前正在依靠一点点jQuery来处理表单内容的提交。这是代码:

$("#inSku").keyup(function (event) {
    if (event.keyCode == 13) {
        ringItem();
    }
});
Run Code Online (Sandbox Code Playgroud)

这里的问题是,在现有的 Android 手机键盘上(我假设有很多其他移动浏览器)-使用“数字”键盘时,常规字母数字 android 键盘上的 Enter 键已更改为“下一步”按钮。在我的例子中,这个按钮接受文本输入并将其粘贴在地址字段中,这并不理想。有没有办法利用键盘上的下一个按钮并让它执行我的其他 javascript 功能?

html javascript forms mobile jquery

5
推荐指数
1
解决办法
7918
查看次数

NoMethodError:未定义的方法“摘要”

我正在通过Rails教程进行工作,并且正在尝试测试有效的用户登录名。 但是,当我运行测试时,我得到了NoMethodError:undefined method`digest'。我已经查看了所有内容,但不明白为什么会收到此错误。我什至采取了复制/粘贴教程代码的方式,以确保它不是拼写错误或键入时遗漏的其他内容。

这是我的用户模型:

class User < ApplicationRecord
  before_save { email.downcase! }
  validates :name, presence: true, length: { maximum: 50 }
  VALID_EMAIL_REGEX = /\A[\w+\-.]+@[a-z\d\-]+(\.[a-z\d\-]+)*\.[a-z]+\z/i
  validates :email, presence: true, length: { maximum: 255 },
                    format: { with: VALID_EMAIL_REGEX },
                    uniqueness: { case_sensitive: false }
  has_secure_password
  validates :password, presence: true, length: { minimum: 6 }

  def User.digest(string)
      cost = ActiveModel::SecurePassword.min_cost ? BCrypt::Engine::MIN_COST :
                                                    BCrypt::Engine.cost
      BCrypt::Password.create(string, cost: cost)
  end
end
Run Code Online (Sandbox Code Playgroud)

和我的装置:

test_user:
    name: Test User
    email: testuser@example.com
    password_digest: <%= User.digest('password') %>
Run Code Online (Sandbox Code Playgroud)

和我的测试: …

ruby ruby-on-rails

5
推荐指数
1
解决办法
503
查看次数

为什么 Ruby STDOUT 会在我不期望的情况下进行缓冲?

以下代码是我当前情况的简化。我有一个 JSON 日志源,我不断地使用它来获取并写入标准输出puts

#!/usr/bin/env ruby

require "json"

loop do
  puts({ value: "foobar" }.to_json)
  sleep 1
end
Run Code Online (Sandbox Code Playgroud)

我希望能够通过管道将该脚本的输出进行jq进一步处理,但以“流”友好的方式使用unix管道。像这样运行上面的代码:

./my_script | jq
Run Code Online (Sandbox Code Playgroud)

导致输出为空。但是,如果我在调用exit后放置一条语句,输出将按预期sleep通过管道发送到。我通过拨打电话后jq能够解决这个问题。虽然它现在正在工作,但我不确定为什么。默认设置为(请参阅)。在我看来,如果启用了同步,那么 Ruby 应该不会进行输出缓冲,并且不需要调用 - 但确实如此。$stdout.flushputs$stdout.synctrueIO#sync$stdout.flush

我的后续问题是关于使用tail而不是jq. 在我看来,我应该能够以与将文本流传输到 的tail方式相同的方式将其传输到jq,但是这两种方法(无论$stdout.flush有没有调用)都不起作用 - 输出只是空的。

ruby stdout pipe jq

5
推荐指数
1
解决办法
963
查看次数

HTML 表格中的可变列数

例子

突出显示的区域是两列,我想将它们合并为一列。

<TABLE border="1" cellspacing="0" width="450px" cellpadding="3px" bordercolor="#FFFFFF">
        <TR>
                <TD rowspan="2" width="50px" height="50px" background="img/noimg75.png"></TD>
                <TD width="200px">1</TD>
                <TD width="200px">2</TD>
        </TR>
        <TR>
                <TD>3</TD>
                <TD>4</TD>
        </TR>
        <TR>
                <TD>5</TD>
                <TD>6</TD>
                <TD>7</TD>
        </TR>
</TABLE>
Run Code Online (Sandbox Code Playgroud)

html html-table

4
推荐指数
1
解决办法
9610
查看次数

适用于DELETE,FROM,WHERE的mySQL语法

我有一个包含18列表的数据库,其中第二列称为"desc".我想删除"desc"下具有特定值的每一行.我正在使用此代码:

DELETE FROM items WHERE desc='Swap this note at any bank for the equivalent item.'
Run Code Online (Sandbox Code Playgroud)

在PHPMYADMIN中使用此命令给我这个错误:

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'desc='Swap this note at any bank for the equivalent item.'' at line 1
Run Code Online (Sandbox Code Playgroud)

我环顾四周很好,但我似乎无法找到我做错了什么.

mySQL版本是5.5,phpMyAdmin版本是3.4.5.

php mysql sql database phpmyadmin

3
推荐指数
1
解决办法
2257
查看次数

在批处理文件中使用的rsync文件路径中使用空格

所以我rsync用来备份一些常用的目录,使用批处理脚本和windows调度程序,如下所示:

rsync.bat

@echo off

C:
chdir C:\Cygwin\bin

bash --login -i -c %1
Run Code Online (Sandbox Code Playgroud)

我正在使用Windows Scheduler定期运行此批处理脚本,这非常有效 - 直到我在文件路径中添加空格.这是我在批处理文件快捷方式上使用的目标路径的示例:

目标: C:\Cygwin\scripts\rsync.bat "rsync -vruh /cygdrive/t/uploads /cygdrive/d/Backups"

这非常有效.这是带有空格的那个:

目标: C:\Cygwin\scripts\rsync.bat "rsync -vruh '/cygdrive/c/Users/username/My Documents' /cygdrive/d/Backups"

请注意带有空格的第一个路径上的单引号.我不能为我的生活弄清楚为什么这不起作用 - 我试过反斜杠逃避空白,使用-s开关,一些研究在过去解决了这个问题,但唉,没有工作要么.任何人都知道如何让这个工作?

whitespace rsync spaces path

1
推荐指数
1
解决办法
5503
查看次数

将整数(非字符串)数据插入 JavaFX2 TableView

所以我有一个正常工作的表,并从ObservableList这里的代码中获取数据:

public void setMainTableData(ObservableList<FileMP3> list)
    {
        artistCol.setCellValueFactory(new PropertyValueFactory<FileMP3, String>("artist"));
        albumCol.setCellValueFactory(new PropertyValueFactory<FileMP3, String>("album"));
        titleCol.setCellValueFactory(new PropertyValueFactory<FileMP3, String>("title"));
        trackCol.setCellValueFactory(new PropertyValueFactory<FileMP3, String>("track"));
        yearCol.setCellValueFactory(new PropertyValueFactory<FileMP3, String>("year"));
        mainTable.setItems(list);
    }   
Run Code Online (Sandbox Code Playgroud)

然而,这些列并不都包含字符串数据 - 我需要能够插入一个int,可能还有其他类型,如Duration. 的trackyear条目存储为整数,且有一个(未示出)入口称为length。这FileMP3作为 a存储在我的对象中Duration,在将其插入表中之前,我没有看到任何明显的方法来操作存储在那里的数据。我希望能够使用Duration.getMillis()然后对其进行一些数学运算以将其转换为可显示的int格式,但我想将其存储在FileMP3as 中Duration

我在该主题上阅读的所有教程都使用构造函数:

new PropertyValueFactory<FileMP3, String>("genre")

总而言之,我希望能够String在表格中插入除 a 以外的内容。

java javafx tableview javafx-2

1
推荐指数
1
解决办法
1万
查看次数

你能用Ruby的块速记来调用类似数组访问器的方法吗?

我习惯于能够缩短

some_array.map { |e| e.to_s }
Run Code Online (Sandbox Code Playgroud)

some_array.map(&:to_s)
Run Code Online (Sandbox Code Playgroud)

有没有办法缩短

some_array_of_arrays.map { |e| e[4] }
Run Code Online (Sandbox Code Playgroud)

相近

some_array_of_arrays.map(&:[4])
Run Code Online (Sandbox Code Playgroud)

显然我已经尝试过最后一个例子,但它不起作用.理想情况下,解决方案将推广到其他"奇怪格式化"的方法调用[].

我对任何Rails/ActiveSupport解决方案都不感兴趣.只有普通的Ruby,假设有某种解决方案.

ruby

0
推荐指数
1
解决办法
58
查看次数