小编Sch*_*ovi的帖子

使用ruby-debugger抛出的Rails'找不到符号:_ruby_current_thread(LoadError)'

我有标准的ruby-head和Rails 3.1rc4.我按照http://dirk.net/2010/04/17/ruby-debug-with-ruby-19x-and-rails-3-on-rvm/中的说明安装了ruby-debug.

但是当我运行rails s --debugger它会抛出这个奇怪的错误

/Users/schovi/.rvm/gems/ruby-head/gems/activesupport-3.1.0.rc4/lib/active_support/dependencies.rb:237:in `require': dlopen(/Users/schovi/.rvm/gems/ruby-head/gems/linecache19-0.5.12/lib/trace_nums19.bundle, 9): Symbol not found: _ruby_current_thread (LoadError)
  Referenced from: /Users/schovi/.rvm/gems/ruby-head/gems/linecache19-0.5.12/lib/trace_nums19.bundle
  Expected in: flat namespace
in /Users/schovi/.rvm/gems/ruby-head/gems/linecache19-0.5.12/lib/trace_nums19.bundle - /Users/schovi/.rvm/gems/ruby-head/gems/linecache19-0.5.12/lib/trace_nums19.bundle
from /Users/schovi/.rvm/gems/ruby-head/gems/activesupport-3.1.0.rc4/lib/active_support/dependencies.rb:237:in `block in require'
from /Users/schovi/.rvm/gems/ruby-head/gems/activesupport-3.1.0.rc4/lib/active_support/dependencies.rb:223:in `block in load_dependency'
Run Code Online (Sandbox Code Playgroud)

任何的想法?谢谢,大卫

ruby ruby-on-rails ruby-debug

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

Rails从多态模型加入或预加载belongs_to关联

我的问题是以下.如何从多态模型加入belongs_to关联

有情况

opinion.rb

class Opinion < ActiveRecord::Base
    belongs_to :opinionable, :polymorphic => true
    belongs_to :category
end
Run Code Online (Sandbox Code Playgroud)

answer.rb

class Answer < ActiveRecord::Base
    has_many :opinions, :as => :opinionable
end
Run Code Online (Sandbox Code Playgroud)

我该怎么办?

Opinion.joins(:opinionabe).所有

它会抛出

ArgumentError:如果不指定多态类,则无法创建多态的belongs_to连接!

我如何具体说明我想加入哪个班级?

第二个问题.如何预加载?

Opinion.preload(:opinionable).所有

工作良好.它将对belongs_to中的每个类进行查询.

但.如果我想做点什么的话

Opinion.preload(:opinionable =>:answer_form).all

有问题,因为一个模型有这种关联,第二个没有.所以它会抛出异常.

那我怎么能做点什么呢

Opinion.preload(:answer =>:answer_form,:another_belongs_to_model).all

谢谢,大卫!

polymorphism activerecord join ruby-on-rails preload

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

React:如何比较当前的props.children和新的props.children

嗨,

我正在构建仅作为其他一些生成内容的包装器并使用第三方库的组件.该库使用props.children组件.到目前为止一切都那么好,但这个四方派对库在应用或刷新元素时有点滞后.因为只有理由刷新这个库才会props.children改变,我试图想出如何比较this.props.childrennextProps.children进入shouldComponentUpdate.我当时认为PureRenderMixin应该做的工作,但对我来说它不起作用.即使我仅state.listName在下面的示例中进行更改,也会重新呈现组件.

<div>
  List name '{this.state.listName}'
  <br />
  <MyComponent>
    <ul>
      {listOfLi}
    </ul>
  </MyComponent>
</div>
Run Code Online (Sandbox Code Playgroud)

有没有办法,如何管理比较props.children或任何其他选项如何做这样的事情?谢谢你的帮助!

javascript compare reactjs

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

如何从日志中忽略Rails 3资产

可能重复:
如何在Rails 3.1中禁用资产管道(链轮)消息的记录?

是否有可能在Rails3中破解记录器以忽略对资产的请求?

当它充满时,在日志中找到一些东西是疯狂的

Started GET "/assets/tiscali.png" for 127.0.0.1 at 2011-09-09 19:59:45 +0200
Served asset /tiscali.png - 304 Not Modified (0ms)
Run Code Online (Sandbox Code Playgroud)

谢谢!

ruby-on-rails ruby-on-rails-3 sprockets asset-pipeline

12
推荐指数
3
解决办法
4261
查看次数

中止jQuery JSONP请求将抛出错误

我正在使用jQuery制作简单的自动提示(autocompleter)插件.不幸的是我必须使用jsonp.没关系,它可以工作,但是当我中止请求时,它会抛出错误.

Uncaught TypeError: Property 'jQuery171036404498340561986_1330693563756' of object [object Window] is not a function
Run Code Online (Sandbox Code Playgroud)

有代码

if(xhr) {xhr.abort()};
xhr = $.ajax({
    url: "someurl/getmedata",
    type: 'get',
    dataType: 'jsonp',
    data: {q: "query"},
    success: function(results) {},
    error: function() {}
})
Run Code Online (Sandbox Code Playgroud)

使用json,xml或其他请求的经典方式可以正常工作.

安妮的建议?

jquery jsonp

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

无法访问OSX上端口80上的docker容器

在我目前的工作中,我们有使用docker-compose制作的开发环境.一个容器是nginx,它提供到其他容器的路由.一切似乎都很好,并在Windows和osx上与我的同事一起工作.但是在我的系统(osx El Capitan)上,访问端口80上的nginx容器存在问题.

有来自docker-compose.yml的容器设置

nginx:
    build: ./dockerbuild/nginx
    ports:
        - 80:80
    links:
        - php
    volumes_from:
        - app
... and more
Run Code Online (Sandbox Code Playgroud)

./dockerbuild/nginx没有什么特别的,只是nginx的配置,因为我们知道它无处不在.

当我用docker-compose create和运行时docker-compose start.然后docker ps给我

3b296c1e4775        docker_nginx           "nginx -g 'daemon off"   About an hour ago   Up 47 minutes       0.0.0.0:80->80/tcp, 443/tcp        docker_nginx_1
Run Code Online (Sandbox Code Playgroud)

但是当我尝试通过卷曲访问它时,我得到错误. curl: (7) Failed to connect to localhost port 80: Connection refused

我尝试用端口81运行容器,一切正常.

港口真的是绑定到码头

22:47 $ sudo lsof -i -n -P | grep TCP
...
com.docke 14718         schovi   38u  IPv4 0x6e9c93c51ec4b617      0t0 …
Run Code Online (Sandbox Code Playgroud)

macos nginx port80 docker

6
推荐指数
2
解决办法
7057
查看次数

以角度验证嵌套表单

具有这个普通(名称属性由服务器请求)形式与角度,并不能弄清楚如何使验证工作.我应该把什么投入到ng-show ="TODO"中

http://jsfiddle.net/Xk3VB/7/

<div ng-app>
  <form ng-init="variants = [{duration:10, price:100}, {duration:30, price:200}]">
    <div ng-repeat="variant in variants" ng-form="variant_form">
      <div>
        <label>Duration:</label>
        <input name="variants[{{$index}}][duration]" ng-model="variant.duration" required />
        <span ng-show="TODO">Duration required</span>
      </div>
      <div>
        <label>Price:</label>
        <input name="variants[{{$index}}][price]" ng-model="variant.price" />
        <span ng-show="TODO">Price required</span>
      </div>
    </div>
  </form>
</div>
Run Code Online (Sandbox Code Playgroud)

ps:这只是一种形式,更复杂

谢谢

angularjs

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