小编Joh*_*son的帖子

Ruby:如何计算字符串出现在另一个字符串中的次数?

我正在尝试计算字符串出现在另一个字符串中的次数.

我知道你可以计算字母出现在字符串中的次数:

string = "aabbccddbb"
string.count('a')
=> 2
Run Code Online (Sandbox Code Playgroud)

但是如果我搜索"aa"出现在这个字符串中的次数,我也会得到两次.

string.count('aa')
=> 2
Run Code Online (Sandbox Code Playgroud)

我不明白这一点.我把值放在引号中,所以我在搜索确切字符串出现的次数,而不仅仅是字母.

ruby string count

45
推荐指数
2
解决办法
3万
查看次数

Ruby - 正则表达式匹配括号?

我试图弄清楚一个字符串是否有正确的括号.

为此,我使用以下三个支架对.

[]
()
{}
Run Code Online (Sandbox Code Playgroud)

只要格式正确,括号也可以嵌套.

)([]{} - Does not have properly closed brackets because )( is reverse order

[()] - Does contain properly closed brackets.
Run Code Online (Sandbox Code Playgroud)

我尝试过使用正则表达式,经过一些摸索后,我得到了这个.

[^\(\[]*(\(.*\))[^\)\]]*
Run Code Online (Sandbox Code Playgroud)

但是,这有一些问题.

它只匹配括号但不匹配括号

我不明白为什么它与括号不匹配.

在我的例子中,我清楚地在括号前使用了反斜杠.

输入

[] - true
[()] - true (nested brackets but they match properly)
{} - true
}{ - false (brackets are wrong direction)
}[]} - false (brackets are wrong direction)
[[]] - true (nested brackets but they match properly
Run Code Online (Sandbox Code Playgroud)

ruby regex brackets

9
推荐指数
3
解决办法
5995
查看次数

friendly-id:电影的未定义方法slug

我下载了friendly_id gem,以使我的URL更加用户友好.为了兑现他们的指示,我在这里问这个而不是GitHub.

这是我的Show Method

def show
  @movie = Movie.friendly.find(params[:id])
end
Run Code Online (Sandbox Code Playgroud)

这符合他们的文档

Finders are no longer overridden by default. If you want to do friendly finds, you must
do Model.friendly.find rather than Model.find. You can however restore FriendlyId 
4-style finders by using the :finders addon:
Run Code Online (Sandbox Code Playgroud)

在我的Model.rb文件中,我有以下内容

extend FriendlyId
friendly_id :title, use: :slugged
Run Code Online (Sandbox Code Playgroud)

从他们的文件

friendly_id :foo, use: :slugged # you must do MyClass.friendly.find('bar')
Run Code Online (Sandbox Code Playgroud)

也来自他们的文件

def set_restaurant
  @restaurant = Restaurant.friendly.find(params[:id])
end
Run Code Online (Sandbox Code Playgroud)

作为参考,这是他们的指南.

当然,我还没有生成迁移,因为我已经创建了表.

我不确定我的下一步应该是什么?

谢谢您的帮助.

ruby url ruby-on-rails slug friendly-id

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

JavaScript - 将偶数索引数组元素乘以 2 并将奇数索引元素乘以 3

我一直在尝试编写代码,将数组的偶数索引元素乘以 2,将奇数索引元素乘以 3。

我将以下数字存储在变量 number 中,它代表一个数字数组

numbers = [1,7,9,21,32,77];
Even Indexed Numbers - 1,9,32
Odd Indexed Numbers - 7, 21, 77
Run Code Online (Sandbox Code Playgroud)

请记住,数组是零索引的,这意味着编号从 0 开始。在这种情况下,0-Indexed 元素实际上是 1,而 1-Indexed 元素是 7。

这是我期望的输出

[2,21,18,63,64,231]
Run Code Online (Sandbox Code Playgroud)

不幸的是,我得到了这个输出

[2,14,17,42,64,154]
Run Code Online (Sandbox Code Playgroud)

这是我的方法的代码

numbers = numbers.map(function(x) {
  n = 0;
  while (n < numbers.length) {
    if (n % 2 == 0) {
      return x * 2;
    }
    else {
     return x * 3;
    }
    n++;
  }});
return numbers;
Run Code Online (Sandbox Code Playgroud)

在这里,我创建了一个 while 循环,它为变量 n 的每次迭代执行代码。对于变量 n 的每个值,我都在检查 n 是否为偶数,它被代码 n % …

javascript arrays

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

ActionView、Application.html.erb 和 HTML head 标签

我有一个关于 Ruby on Rails、ActionView、Application.html.erb 和 HTML head 标签的使用的简单问题。

我知道 application.html.erb 用于在您网站上的所有页面上显示内容。

<head>
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta name="description" content="My desciprtion.">
  <meta name="robots" content="index,follow">
  <title><%= @title %></title>
    <%= stylesheet_link_tag    "application", media: "all", "data-turbolinks-track" => true, :cache => "cache/all" %>
    <%= javascript_include_tag "application", :async => true, "data-turbolinks-track" => true, :cache => "cache/all" %>
    <%= csrf_meta_tags %>
</head>
Run Code Online (Sandbox Code Playgroud)

这意味着,上面的代码会显示在我的所有网页上。

现在,我一直在阅读有关 SEO 的内容,它建议为每个网页使用单独的描述元标记,以告诉搜索引擎页面的内容。我要问你的问题是

您是否可以在 Rails 中自定义各个页面,例如

page1.html.erb
page2.html.erb
page3.html.erb
Run Code Online (Sandbox Code Playgroud)

并在其中包含 HTML head 标签?

我使用 Ruby on Rails 已经有一段时间了,但我从未在视图页面中看到过 head 标签。

我还没有看到关于此事的身体标签。

我用过

<% @title …
Run Code Online (Sandbox Code Playgroud)

ruby meta ruby-on-rails title actionview

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