小编shi*_*eya的帖子

Rails迁移:检索当前迁移版本的最佳方法

有没有很好的方法来检索迁移版本号?

我需要在模型中实现一个方法,该方法在特定迁移版本之外的行为方式不同.

我发现连接适配器中的assume_migrated_upto_version正在从数据库中检索版本但无法找到其他版本.


背景:我正在尝试从表A中删除两列,想要将它们移动到表B中,并从表A中添加与表B的关联.

在此更改期间,我需要访问这两列.但在那之后,我想为这些列添加代理方法以实现兼容性.

ruby-on-rails ruby-on-rails-3

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

缓存评估结果是rails helper方法

在实现一些辅助方法时,有时,我想将一些计算结果存储在辅助方法可以作为缓存访问的地方.

如果我将它存储到实例变量中,它将污染实例,因此这样做似乎不明智.

有存储这种价值的好地方吗?或者在帮手中做这么重的计算是个坏主意?

ruby-on-rails ruby-on-rails-3

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

clang ++(3.3/Xcode)中std :: function的定义在哪里

解决问题=>查看最后的更新

我正在尝试使用,std::function但看起来只是包含<functional>不提供定义.我试图编译以下代码:

#include <functional>
std::function<int(int)> f = nullptr;
Run Code Online (Sandbox Code Playgroud)

使用c ++ 11作为编译选项:

% clang++ -c -std=c++11 t.cc
Run Code Online (Sandbox Code Playgroud)

原因:

t.cc:3:6: error: no type named 'function' in namespace 'std'
std::function<int(int)> f = nullptr;
~~~~~^
t.cc:3:14: error: expected unqualified-id
std::function<int(int)> f = nullptr;
             ^
2 errors generated.
Run Code Online (Sandbox Code Playgroud)

我错过了什么?我知道C++很好,但对clang ++/C++ 11来说是新手,因此我认为我缺乏重要的知识.

我在MacOS X 10.8上使用clang ++.

更新1

在cppreference.com网站上尝试了一个示例,但它也不会编译.提供一些选择解决问题?

更新2

尝试从cppreference.com上面的示例clang++ -c -std=c++11 -stdlib=libc++11 x.cc,编译器仍然说:

x.cc:1:10: fatal error: 'functional' file not found
#include <functional>
         ^
1 error …
Run Code Online (Sandbox Code Playgroud)

c++ xcode clang c++11

4
推荐指数
2
解决办法
5474
查看次数

如何使用rails组织app/modules中的类的命名空间?

[这是" 如何模块化Rails模型? " 的后续问题

反正有没有在app/modelsRails目录中组织类?我是否必须为所有类使用单个顶级命名空间?

最初的动机是,我希望把它不从继承业务逻辑类ActiveRecord::Base进入app/models目录.搜索此站点会显示许多建议将业务逻辑类放在app/models目录中的答案.我发布了一个不同的问题,并得到了建议,可以将这些类放入lib目录.

现在我很好奇.我想将这些类放在apps/models其他人推荐的目录中的不同命名空间和目录中.可能吗?

实际上,我试验了一下,但在我看来,这不是预期的铁轨.如果我创建这样的类(如some_mod_name/class_in_mod.rb中的SomeModName :: ClassInMod),则不会加载它.另外,我在模块中定义了常量.由于它们没有装载,我不能使用它们.实际上,rspec它的工作没有问题,但有rails server,该类没有加载.我确定它与自动加载问题有关.

除了上面提到的类之外,从中继承的类ActiveRecord::Base可以放在一些名称空间中module.我很好奇这项工作是否合适.

换句话说,问题是:我可以通过配置要加载的这些文件来使轨道高兴,还是不是rails设计的方式?

ruby-on-rails-3

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

标签 统计

ruby-on-rails-3 ×3

ruby-on-rails ×2

c++ ×1

c++11 ×1

clang ×1

xcode ×1