小编Dav*_*ton的帖子

Ruby on Rails的广告/横幅管理/轮换?

我有一个利基网站,我想直接销售横幅,而不是通过adsense.我需要一个系统来管理整个过程:显示广告和管理它们的管理界面.它不一定非常花哨,虽然开源是非常优选的,因此我可以根据需要增长系统.由于网站本身是在Rails中,我更喜欢这种环境.谷歌搜索在PHP中发现它们的串联,但结果有点污染,我没有任何运气找到一个在/ Rails中完成的.

如果我找不到一个,我想我会看到我可以做些什么来组合一些东西并在开放许可下自行发布.

另一种可能性是:http://www.google.com/admanager-任何人都有话要说吗?对于那些只是为一个不那么大的网站销售一些广告的人来说,这是对的吗?

谢谢,戴夫

ruby-on-rails ads banner

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

Rails 3.2.2日志文件无序,请求交织在一起

我记得收到订单很好的日志文件,这样你就可以关注一个请求,然后关注下一个请求,依此类推.

现在,日志文件正如我4岁时所说的那样"全部被嘲笑",这意味着它们不再是独立的,不同的文本块.来自两个请求的记录交织在一起/混合在一起.

例如:

Started GET /foobar
...
Completed 200 OK in 2ms (Views: 0.4ms | ActiveRecord: 0.8ms)
Patient Load (wait, that's from another request that has nothing to do with foobar!)
[ blank space ]
Something else
Run Code Online (Sandbox Code Playgroud)

这很令人发狂,因为我无法分辨出一个请求中发生了什么.

这是在Passenger上运行的.

logging ruby-on-rails-3

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

从ajax加载的HTML加载twitter小部件?

我正在尝试使用一个非常标准的Twitter搜索小部件,直接来自Twitter网站:

<script src="http://widgets.twimg.com/j/2/widget.js"></script>
<script>
new TWTR.Widget({
  version: 2,
  type: 'search',
  search: '$AAPL',
  interval: 6000,
  title: 'AAPL',
  subject: '',
  width: 250,
  height: 300,
  theme: {
    shell: {
      background: '#8ec1da',
      color: '#ffffff'
    },
    tweets: {
      background: '#ffffff',
      color: '#444444',
      links: '#1985b5'
    }
  },
  features: {
    scrollbar: false,
    loop: true,
    live: true,
    hashtags: true,
    timestamp: true,
    avatars: true,
    toptweets: true,
    behavior: 'default'
  }
}).render().start();
</script>
Run Code Online (Sandbox Code Playgroud)

而它正在加载如下:

$(".linktosymbol").bind("ajax:success", function(event, data, status, xhr) {
    $(".symboldetails").html("");
    var target = $("#" + $(this).attr('data-target'));
    target.html(data);
});
Run Code Online (Sandbox Code Playgroud)

它永远不会出现,它似乎只是空白屏幕并继续加载.想法?

twitter ajax jquery

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

在视图规格之间共享代码

对于给定的Rails(3)控制器,我有几种视图规格:编辑,索引,新建,显示,我希望在它们之间共享一些样板设置代码。我想避免将其放在spec_helper.rb文件中。有任何想法吗?

更具体地说,在spec / views / steps中,我有四个文件:{edit,new,show,index} .html.erb_spec.rb。我希望他们共享一些代码,例如

  let(:workflow) do
    document = Factory.create(:document)
    document.user = user
    document.save!
    document.workflow
  end
Run Code Online (Sandbox Code Playgroud)

例如-确切的代码无关紧要。我想这样做而不将其放在spec_helper.rb中。

rspec rspec-rails

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

在nokogiri中解析没有root的多个标签

我想做这样的事情:

fragment = parse("<p></p> <p></p>")
another_node.add_child(fragment)
Run Code Online (Sandbox Code Playgroud)

但到目前为止,我还没有找到任何可以完成工作的东西 - 一切都想要一个有多个子节点的根节点.有关如何实现这一目标的任何想法?看起来似乎不是那么奇怪的一个请求,我觉得我一定会错过一些东西.

ruby xml nokogiri

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

will_paginate,包括和连接表的排序

所以,我做的事情如下:

 user.students.includes(:exams).ungraded.paginate(:page =>
   params[:page]).order("exams.created_at desc")
Run Code Online (Sandbox Code Playgroud)

但是,这会导致一个微妙的问题.在活跃记录的内容中,限制使其在学生ID上有所区别,如下所示:

SELECT DISTINCT "students".id, exams.id AS alias_0 FROM "students" 
LEFT OUTER JOIN "exams" ON "exams"."student_id" = "students"."id"
WHERE "students"."ready_for_grading" = 't' ORDER BY exams.id LIMIT 10 OFFSET 0;
Run Code Online (Sandbox Code Playgroud)

但是,这可能会导致以下结果:

 id | alias_0 
----+---------
 42 |     256
 42 |     257
 42 |     260
Run Code Online (Sandbox Code Playgroud)

看到问题?最终这个限制开始了,我们没有像我们应该那样获取尽可能多的学生ID,因为我们通过选择学生ID和考试ID来"使用它们",即使我们真的只想要考试ID排序.

这是Rails 3.2.1和PostgreSQL 9.1.

编辑

我认为正在发生的事情是,paginate正在使用查询来获取学生列表,然后将其提供给第二个查询,但由于左外连接,我们没有为学生获得明显的结果,所以它'底部填充'我们拥有的10个插槽并且通常会混淆一些东西.我认为这是某个地方的错误,但我不确定是谁将其固定.

postgresql activerecord ruby-on-rails arel

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

对于textarea中的大型内容,Firefox DOMContentLoaded和加载事件非常慢

我正在尝试在textarea中加载一个大(几个megs)文档.

忽略网络加载时间(当我重新加载它时,它实际上是最小的,因为它获得了304),在Firebug中它告诉我,DOMContentLoaded和加载事件需要将近20秒才能解决问题.

如果我将textarea更改为div,它会将时间减少到5秒,即使它必须实际呈现整个内容!

没有加载javascript库 - 卸载它们是我尝试的第一件事.我确实加载了很多CSS文件.

关于什么使它变得如此缓慢,甚至更好,如何加快速度的想法?一次加载内容一块?有点难看,但至少它给用户一些东西,而不是一个锁定的浏览器和潜在的"这个脚本需要太长时间"的警告.

这是Ubuntu上的Firefox 3.6.15.

javascript firefox textarea

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