小编the*_*ide的帖子

覆盖rails的默认rake任务

我有一个Rails 2.2项目,我想在其中覆盖rake db:test:prepare任务的功能.我认为这会起作用,但它没有:

#lib/tasks/db.rake
namespace :db do
  namespace :test do
    desc "Overridden version of rails' standard db:test:prepare task since the schema dump used in that can't handle DB enums"  
    task :prepare => [:environment] do
      puts "doing db:structure:dump"
      Rake::Task['db:structure:dump'].invoke
      puts "doing db:test:clone_structure"
      Rake::Task['db:test:clone_structure'].invoke
    end   
  end
end
Run Code Online (Sandbox Code Playgroud)

我得到了标准任务的行为.如果我将任务的名称更改为:prepare2然后执行rake db:test:prepare2,那么它可以正常工作.我从中得出的自然结论是,我的rake任务在内置的Rails 之前被定义,因此我的标准:prepare任务会覆盖我的rake 任务.

任何人都可以看到我如何解决这个问题?我宁愿覆盖它而不是使用新任务.谢谢,最多

rake ruby-on-rails

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

如何在React中设置文档标题?

我想为我的React应用程序设置文档标题(在浏览器标题栏中).我尝试过使用react-document-title(似乎已经过时了)并且设置document.title在- constructor并且componentDidMount()- 这些解决方案都不起作用.

javascript dom reactjs

52
推荐指数
14
解决办法
5万
查看次数

Rails模型方法自我.vs普通

在Rails模型中查看方法时,有时我会看到self.method_name,有时只是一个method_name.有什么区别,什么是知道何时使用self.以及何时不使用的指南?

ruby-on-rails

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

用Sinon对Mongoose模型进行挖掘

我想创建一个猫鼬存根save在特定模型的方法,让我创造我的模型的任何实例将调用存根而不是正常的猫鼬的save方法.我的理解是,这样做的唯一方法是将整个模型存根如下:

var stub = sinon.stub(myModel.prototype);
Run Code Online (Sandbox Code Playgroud)

不幸的是,这行代码导致我的测试抛出以下错误:

TypeError: Cannot read property 'states' of undefined
Run Code Online (Sandbox Code Playgroud)

有谁知道这里出了什么问题?

mongoose node.js sinon

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

Factory Girl创建与现有对象的关联

我是FactoryGirl的新手,我正在尝试以下简单方案?

factory :female, :class => Gender do
  code 'Female'
end

factory :male, :class => Gender do
  code 'Male'
end

factory :papas, :class => Customer do
  first_name 'Jim'
  last_name 'Papas'
  association :gender, :factory => :male, :strategy => :build
end

factory :dumas, :class => Customer do
  first_name 'Mary'
  last_name 'Dumas'
  association :gender, :factory => :female, :strategy => :build
end
Run Code Online (Sandbox Code Playgroud)

然后在我的测试中:

 create(:male)
 create(:female)
 create(:papas)
 create(:dumas)
Run Code Online (Sandbox Code Playgroud)

请注意,Customer类具有关联belongs_to Gender类和验证规则,该规则gender_id应该存在.我还对Gender类的唯一性进行了验证.

create(:papas)上面的声明中,在我的测试中,我得到了Customer将要创建的错误无效的错误,因为gender_idnil.

如果删除了 …

ruby-on-rails associations factory-bot

11
推荐指数
3
解决办法
8009
查看次数

为什么两个网页有不同的localStorage?我怎样才能解决这个问题?

我正在尝试使用localStorage将值从一个页面传递到另一个页面.两个页面都使用通用的JS文件来获取/设置localStorage的值.此页面使用localStorage.setItem('key', 'value')以下内容正确设置值:http://example.com/path/index.html

ip从查询字符串中解析并使用密钥写入localStorage db_ip.

当我尝试localStorage.getItem('db_ip')在此页面上执行操作时,该项目不存在:http://www.example.com/path/page.html

我正在阅读说"每个Document对象的Window对象的localStorage属性的Storage对象与相同的存储区域相关联"的规范,所以这让我觉得通过拥有不同的Storage对象,页面可以有单独的localStorage.

我可以看到两个页面之间的Storage对象不同.如何让两个页面使用相同的存储对象?

html javascript html5 local-storage

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

共享状态时在不同容器中渲染组件

我有一个HTML页面由WordPress的预渲染和三个反应的组分:<App /><Component /><AnotherComponent />

HTML页面(div id="component"div id="anotherComponent")内有两个ID div容器,它们是分开的,我想在其上渲染React组件。他们也共享一些状态。我想用来<App />编写所有逻辑和事件处理,然后将状态(this.props.counter)传递给每个组件。

在此处输入图片说明

我想ReactDOM.render(<Component />, document.getElementById('component'));对每个组件使用,并使用<App />来控制逻辑,但是我如何将状态传递给每个组件,以及我render()在组件中要做什么<App />

最好的方法是什么?

reactjs

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