小编Dam*_*ian的帖子

如何在Ruby on Rails中创建锚点并重定向到此特定锚点

我正在尝试为我博客上的每条评论创建独特的锚点,这样一个人就可以获取一个锚点的网址并将其粘贴到浏览器中,这将自动加载页面并向下滚动到页面中评论开始的位置.

也许我正在以错误的方式解决这个问题,但我已经尝试过这个但是无济于事.

注释视图 - 失败1 - 当粘贴在浏览器中时,此链接不会向下滚动到所需位置

<%= link_to '#', :controller => 'posts', :action => 'show', :id => comment.post, :anchor => 'comment_' << comment.id.to_s %>
Run Code Online (Sandbox Code Playgroud)

注释控制器 - 失败2 - 在浏览器中更正URL但没有滚动发生它只是停留在页面顶部

redirect_to :controller => 'posts', :action => 'show', :id => @post, :anchor => 'comment_' + @comment.id.to_s
Run Code Online (Sandbox Code Playgroud)

如果有人可以帮助我会非常感激:)

更新:下面的解决方案几乎可以工作,但是我提出了以下URL,如果我点击它就不会滚动到它.

#ie http:// localhost:3000/posts/please-work

ruby anchor ruby-on-rails hyperlink page-jump

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

在Ruby中筛选Eratosthenes

而不是从网上抓取这个算法的Ruby版本,我想根据它的描述在这里创建我自己的.但是我无法弄清楚两件事

def primeSieve(n)
  primes = Array.new

  for i in 0..n-2
   primes[i] = i+2
  end

  index = 0
  while Math.sqrt(primes.last).ceil > primes[index]
    (primes[index] ** 2).step(primes.length - 1, primes[index]) 
      {|x| x % primes[index] == 0 ? primes.delete(x) : ""}
    index += 1
  end

  primes
end
Run Code Online (Sandbox Code Playgroud)
  1. 为什么它不迭代到数组的末尾?
  2. 根据上面链接中的描述,当数组中最后一个元素的平方根大于当前素数时,应该打破循环 - 我之前做过这个.

我很确定它与修改数组长度的删除操作有关.例如,当我输入n = 10时,我的函数当前产生2,3,5,7,9,10,这显然是不正确的.关于我如何改变它以使它像它应该的那样工作的任何建议?

ruby sieve-of-eratosthenes

13
推荐指数
2
解决办法
7624
查看次数

FizzBu​​zz使用三元条件运算符

我一直在阅读ruby中的条件样式表达式.但是我遇到了一个我无法理解的定义经典FizzBu​​zz问题.我理解FizzBu​​zz问题,甚至在使用三元运算符找到以下快速解决方案之前编写了自己的问题.如果有人可以向我解释这个链如何工作以满足FizzBu​​zz问题,那将非常感谢:)

for i in 0...100
  puts i%3==0 ? i%5==0 ? "FizzBuzz" : "Buzz" : i%5==0 ? "Fizz" : i
end
Run Code Online (Sandbox Code Playgroud)

ruby operators fizzbuzz conditional-operator

8
推荐指数
3
解决办法
3723
查看次数

MYSQL安装问题

在我的mac上通过终端升级了几个gem之后,我创建了一个由mysql数据库备份的新rails项目.启动应用程序后,将显示常规欢迎页面.

这是问题 - 我尝试单击标题为"关于您的应用程序的环境"的链接,我在浏览器中收到以下输出:

MissingSourceFile in Rails/infoController#properties
no such file to load -- mysql
Run Code Online (Sandbox Code Playgroud)

我也在终端收到此输出

The bundled mysql.rb driver has been removed from Rails 2.2. Please install the mysql gem and try again: gem install mysql.
Processing Rails::InfoController#properties (for 127.0.0.1 at 2008-12-09 20:41:41) [GET]
Processing Rails::InfoController#properties (for 127.0.0.1 at 2008-12-09 20:41:41) [GET]
MissingSourceFile (no such file to load -- mysql):
...
Run Code Online (Sandbox Code Playgroud)

正如它所说的那样,我在停止应用程序后尝试发出"gem install mysql",只是受到了我无法理解的这一块行话的欢迎:

WARNING:  Installing to ~/.gem since /Library/Ruby/Gems/1.8 and
      /usr/bin aren't both writable.
WARNING:  You don't have /Users/mymac/.gem/ruby/1.8/bin …
Run Code Online (Sandbox Code Playgroud)

mysql macos installation ruby-on-rails

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

用正则表达式解析css

我想扫描一个css文件并捕获注释和CSS.我已经提出了一个几乎存在的正则表达式,但它并不完美,因为它错过了具有多个声明的属性,即

ul.menu li a, # Won't capture this line
ul.nice-menu li a { text-decoration: none; cursor:pointer; }
Run Code Online (Sandbox Code Playgroud)

这是我正在使用的正则表达式:

(\/\*[^.]+\*\/\n+)?([\t]*[a-zA-Z0-9\.# -_:@]+[\t\s]*\{[^}]+\})
Run Code Online (Sandbox Code Playgroud)

我一直在rubular.com上测试这个,这是它目前匹配的,以及数组输出是什么样的.

结果1

[0] /* Index */
/*
GENERAL

PAGE REGIONS
- Header bar region
- Navigation bar region
- Footer region           
SECTION SPECIFIC
- Homepage
- News */

[1] html { background: #ddd; }
Run Code Online (Sandbox Code Playgroud)

结果2

[0]
[1] body { background: #FFF; font-family: "Arial", "Verdana", sans-serif; color: #545454;}
Run Code Online (Sandbox Code Playgroud)

我必须指出,当谈到正则表达式时,我仍然是一个新手,所以如果有人可以帮助并显示我出错的地方,那就非常感激:)

顺便说一句:我正在使用PHP和preg_match_all

css php regex parsing

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