小编Ben*_*use的帖子

带Memcache的Rails返回错误的缓存对象?

我有一个相当大的Rails应用程序,它在单独的服务器上使用memcached作为其缓存存储.

问题是我在生产环境中随机出现错误,这似乎表明memcached返回了一个不正确的对象.

例子:

在此示例中,current_site是一个辅助方法,它访问Site模型上使用Rails.cache缓存模型的方法

ActionView::TemplateError in ListingsController#edit
undefined method `settings' for #<String:0xb565f8a0>

On line #12 of app/views/layouts/site.html.erb

    9:         <meta name="robots" content="noodp, all" />
    10:         <meta name="distribution" content="Global" />
    11: 
    12:         <% unless current_site.settings[:google_webmaster_verification_code].blank? %>
    13:         <meta name="verify-v1" content="<%= current_site.settings[:google_webmaster_verification_code] %>" />
    14:         <% end %>
    15: 
Run Code Online (Sandbox Code Playgroud)

与...形成对比

ActionView::TemplateError in ApplicationController#not_found
undefined method `settings' for #<Category:0xd5c6c34>

On line #12 of app/views/layouts/site.html.erb

    9:         <meta name="robots" content="noodp, all" />
    10:         <meta name="distribution" content="Global" />
    11: 
    12:         <% …
Run Code Online (Sandbox Code Playgroud)

ruby memcached caching ruby-on-rails

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

在Rails中向Integer类添加方法的最佳位置在哪里?

在Rails中向整数类添加方法的最佳位置在哪里?我想添加一个to_metersto_miles方法.

ruby monkeypatching ruby-on-rails

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

Git pull with rebase导致过度冲突.如何修复我们的工作流程?

我们有一个为每个客户定制的基础系统.基础存在于自己的存储库中,每个客户端都位于自己的存储库中(最初从基础克隆).

目标是能够向基础添加错误修复/功能,可以根据需要传播到客户端.

到目前为止,工作流程如下:

  • 为基本修复程序/功能创建提交/主题分支:(在基础,主服务器上) git commit -m "Fix admin typo"
  • 将这些更改合并到客户端:(在客户端,主服务器上)git merge base/master.显然,这包括修复base和客户端自定义之间的任何冲突.
  • 将合并推送到客户端的原点:(在客户端,主服务器上) git push origin master
  • 我们的惯例是使用rebase(以保持历史可读性).那么,在客户端项目上工作的另一个开发人员(在客户端,主人)git pull --rebase origin master

正是在这一点上,我们通过拉/ rebase达到了重大问题.开发人员在从基础到客户端的合并之后完成了pull/rebase中的冲突.它不仅仅是一些冲突,还有很多(许多提交被重播?),而且通常是特定开发人员从未触及过的代码.我认为这是不合理的,也是不可持续的.

什么是最好的解决方案?

我唯一的想法是在拉动和处理草率和难以阅读的日志时停止使用rebase,但我宁愿不必这样做.这些客户端项目可以存在多年,我希望将来能够从基础系统合并中找到一些意义.

git merge workflow repository rebase

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

jQuery ajax数据发布问题

我一直在寻找答案,我希望能够参数化我的插件AJAX值.所以,例如而不是:

$.post('test.aspx', { name: 'bob' }, function(data){
....
});
Run Code Online (Sandbox Code Playgroud)

我想参数化名称和帖子中使用的值,例如

var var1 = 'name';
var var2 = 'bob';
$.post('test.aspx', { var1: var2 }, function(data){
....
});
Run Code Online (Sandbox Code Playgroud)

我的问题是它插入值'bob'但是将其作为'var1'而不是'name'发布.在服务器端,它期望名称不是var1.

有人有任何想法吗?

javascript jquery

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

为什么这些Dojo悬停事件不起作用?

我是一个项目的Dojo(在jQuery方面很有经验)的新手,我正在努力添加/删除一些将改变主导航链接和下拉列表样式的类.

这是我写的代码:

dojo.addOnLoad(function() {
    dojo.query('#primary-nav > ul > li > div').forEach(function(container) {
        var hoverToggles = dojo.query('> a, > ul', container),
            link = dojo.query('> a', container);

        dojo.connect(link, 'onmouseover', function() {
            dojo.addClass(hoverToggles, 'hover');
        });

        dojo.connect(link, 'onmouseout', function() {           
            dojo.removeClass(hoverToggles, 'hover');
        });
    });
});
Run Code Online (Sandbox Code Playgroud)

没有放入事件处理程序的代码(console.log,alert).价值观linkhoverToggles正确.

我在这里做错了吗?附带问题:是否有更多的Dojo惯用方法?

javascript dojo dom-events

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