小编Ant*_*nAL的帖子

使用grep查找所有电子邮件

如何正确构建"grep"linux程序的正则表达式,找到所有的电子邮件,说/ etc目录?目前,我的脚本如下:

grep -srhw "[[:alnum:]]*@[[:alnum:]]*" /etc
Run Code Online (Sandbox Code Playgroud)

工作正常 - 看一些电子邮件,但是当我修改它时,要在"@"符号之前和之后捕捉一个或多个字符...

grep -srhw "[[:alnum:]]+@[[:alnum:]]+" /etc
Run Code Online (Sandbox Code Playgroud)

..它根本停止工作

此外,它不会收到"Name.LastName@site.com"形式的电子邮件

救命 !

linux grep

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

覆盖路由助手方法

问题有很多评论.

URL"questions/123"显示一个问题.

一个网址:

"问题/ 123#答案-345"

显示一个问题并突出显示答案.345-是Answer模型的id,"answer-345"是HTML元素的id属性.

我需要覆盖"answer_path(a)"方法来获取

"问题/ 123#答案-345"

代替

"答案/ 345"

怎么做 ?

routing overriding ruby-on-rails

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

找不到redis_store的缓存存储适配器

我有Rails 3.1.3应用程序并尝试将gem"redis"插入其中.

我在gemfile中添加了以下gem:

宝石"redis-store"

在本文之后,我将以下代码添加到environment/development.rb:

config.gem "redis-store", :lib => "redis-store"
require "redis-store" # HACK
config.cache_store = :redis_store
Run Code Online (Sandbox Code Playgroud)

应用程序无法启动,向cache_store抱怨:

/gems/activesupport-3.1.3/lib/active_support/cache.rb:65:in`lookup_store':找不到redis_store的缓存存储适配器(没有要加载的文件 - active_support/cache/redis_store)(RuntimeError).

我已经弄清楚了,包括gem"redis-rails"而不是"redis-store",但我得到了另一个错误:

/Users/AntonAL/.rvm/gems/ree-1.8.7-2011.03@global/gems/bundler-1.0.21/lib/bundler/rubygems_integration.rb:143:in"gem":redis-store不属于捆绑.将其添加到Gemfile.(宝石:: LoadError)

保持他们两个......

gem 'redis-store'
gem 'redis-rails'
Run Code Online (Sandbox Code Playgroud)

...给出了另一个错误

…gems/redis-rails-0.0.0/lib/redis-rails/version.rb:1: Redis is not a module (TypeError)
    from …/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:240:in `require'
    from …/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:240:in `require'
    from …/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:223:in `load_dependency'
    from …/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:640:in `new_constants_in'
    from …/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:223:in `load_dependency'
    from …/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:240:in `require'
    from …/gems/redis-rails-0.0.0/lib/redis-rails.rb:1
    from …/gems/bundler-1.0.21/lib/bundler/runtime.rb:68:in `require'
    from …/gems/bundler-1.0.21/lib/bundler/runtime.rb:68:in `require'
    from …/gems/bundler-1.0.21/lib/bundler/runtime.rb:66:in `each'
    from …/gems/bundler-1.0.21/lib/bundler/runtime.rb:66:in `require'
    from …/gems/bundler-1.0.21/lib/bundler/runtime.rb:55:in `each'
    from …/gems/bundler-1.0.21/lib/bundler/runtime.rb:55:in `require'
    from …/gems/bundler-1.0.21/lib/bundler.rb:122:in `require'
    from …/config/application.rb:11 …
Run Code Online (Sandbox Code Playgroud)

redis ruby-on-rails-3

13
推荐指数
4
解决办法
6909
查看次数

使用Nokogiri查找并替换整个HTML节点

我有一个HTML,应该转换,让一些标签替换为另一个标签.

我不知道这些标签,因为它们将来自db.所以,set_attribute或者nameNokogiri的方法不适合我.

我需要在某种程度上这样做,就像在这个伪代码中一样:

def preprocess_content
  doc = Nokogiri::HTML( self.content )
  doc.css("div.to-replace").each do |div|
    # "get_html_text" will obtain HTML from db. It can be anything, even another tags, tag groups etc.
    div.replace self.get_html_text
  end
  self.content = doc.css("body").first.inner_html
end
Run Code Online (Sandbox Code Playgroud)

我找到了Nokogiri::XML::Node::replace方法.我认为,这是正确的方向.

这个方法需要一些node_or_tags参数.

我应该使用哪种方法从文本创建新节点并用它替换当前节点?

html replace transformation ruby-on-rails nokogiri

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

哈希标志后获取请求部分

我的网站采用AJAX驱动的搜索,使用深层链接.当用户关注链接时......

http://example.com/articles#/?tags=Mac%20OS,review
Run Code Online (Sandbox Code Playgroud)

...标签"Mac OS"和"评论"应该已经在搜索表单中选择,并且应该在页面上显示与"Mac OS"和"评论"相关的文章.

我有以下场景,需要修复

  1. 用户可以访问http://example.com/articles#/?tags=Mac%20OS链接
  2. 在初始页面呈现期间,将获取所有文章
  3. 在客户端,解析散列部分,并且仅通过AJAX请求与"Mac OS"相关的文章.
  4. 客户端接收"Mac OS" - 文章并替换在步骤2中获取的所有文章.此外,它还在搜索表单上标记"Mac OS"标记.

这里的问题 - 是重复的文章渲染,对用户来说看起来非常糟糕.他查看所有文章,几秒钟后,他们将被"Mac OS"替换.

我需要有以下场景:

  1. 用户可以访问http://example.com/articles#/?tags=Mac%20OS链接
  2. 服务器解析散列部分并返回与"Mac OS"相关的文章
  3. 客户理解,"Mac OS" - 文章已经存在并且什么都不做.它只是将"Mac OS"标记标记为已选中.

为此,我需要获取请求字符串的哈希部分:

/?tags=Mac%20OS
Run Code Online (Sandbox Code Playgroud)

我之后不能使用请求参数,因为我使用AJAX和深层链接.使用?-part,浏览器将被强制重新加载页面.我需要做任何事情而不重新加载页面.

非常感谢您的帮助.

谢谢.

ajax asynchronous ruby-on-rails request deep-linking

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

从符号中获取模型类

我正在实现一个方法,它将在项目的许多地方使用.

def do association

end
Run Code Online (Sandbox Code Playgroud)

"关联"是一个符号,例如:articles,:tags,:users等.

当关联时:articles,我需要使用Article模型.

当关联时:users,我需要使用User模型.

等等.

我知道,我可以编写一个辅助方法,它返回模型类,具体取决于提供的符号.但是有一个现成的方法吗?

symbols model ruby-on-rails

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

在几个地方使用fields_for

我有一个简单的模型

class Ad < ActiveRecord::Base
   has_many :ad_items
end

class AdItem < ActiveRecord::Base
   belongs_to :ad
end
Run Code Online (Sandbox Code Playgroud)

我有一个"广告/新"视图,向我显示创建新广告并向其添加一些项目的表单

.html.erb代码如下所示:

<% form_for @ad, do |ad_form| %>
   <!-- some html -->

   <% ad_form.fields_for :ad_items do |f| %>
      <%= f.text_area "comment", :class => "comment", :rows => "5" %>
   <% end %>

   <!-- some other html -->

   <% ad_form.fields_for :ad_items do |f| %>
      <% render :partial => "detailed_item_settings", :locals => {:f => f} %>
   <% end %>
<% end %>
Run Code Online (Sandbox Code Playgroud)

当广告有一个项目时......

def new
   @ad = session[:user].ads.build …
Run Code Online (Sandbox Code Playgroud)

forms ruby-on-rails fields-for

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

在Rails 3中解决无效多字节字符(US-ASCII)的全局设置

我的问题是与Rails 3无效的多字节字符(US-ASCII)相似

解决方案,在那里提供确实有效,但我发现这有点愚蠢,包括注释#编码:UTF-8到每个使用非ASCII字符的文件.

在config/application.rb中,我有以下选项:

# Configure the default encoding used in templates for Ruby 1.9.
config.encoding = "utf-8"
Run Code Online (Sandbox Code Playgroud)

但是,它没有帮助.

也许,针对此类情况提供了一些其他全局配置选项?

configuration character-encoding ruby-on-rails-3

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

为特定型号加载夹具

对于自动化测试,使用RSpec和FactoryGirl.

通常,我需要手动播放我的应用程序.所以,我需要一种方便的方法来使用一些数据填充数据库.

最方便的方法是使用固定装置,因为它们可以非常好地处理模型之间的关系.

我知道,我可以通过rake db:fixtures:load命令加载灯具,但有时我只需要填充特定型号(比方说,只有客户 - >订单 - >产品)

我正在寻找一个命令,像这样:

rake db:fixtures:load --models=customers,orders,products
Run Code Online (Sandbox Code Playgroud)

model loading fixtures ruby-on-rails-3

8
推荐指数
2
解决办法
3444
查看次数

:伪类之前不适用于图像

我有以下HTML:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>:before pseudo-class and images</title>
    <style type="text/css" media="screen">
        img {
            display: block;
            width: 640pt;
        }
        img:before {
            content: "Test";
        }
    </style>
</head>
<body>
    <img src="http://andreygromov.name/picture/flower/flower4.jpg" alt="???? ? ???????" />
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

:之前不会出现图像,但它适用于任何div.

为什么?


更新:我在W3C中找到了这个解释:

注意.此规范未完全定义:替换元素(例如HTML中的IMG)之前和之后的交互.这将在未来的规范中更详细地定义.


更新2:

我忘了提 - 我需要用CSS可视化图像的"alt"属性.

img:before {
    display: block;
    content: attr(alt);
    background-color: #333;
    /* etc. */
}
Run Code Online (Sandbox Code Playgroud)

html css pseudo-class

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