小编Tho*_*aum的帖子

通过表单更新所有者标签

我想在我的应用中唯一使用所有者标签.我的问题是,当我通过表单创建/更新帖子时,我f.text_field :tag_list只有更新帖子的标签但没有所有者.如果我使用f.text_field :all_tags_list它,则不知道create/update上的属性.我可以添加我的控制器:

User.find(:first).tag( @post, :with => params[:post][:tag_list], :on => :tags )
Run Code Online (Sandbox Code Playgroud)

但后来我有重复的标签,用于帖子和所有者标签.如何使用所有者标记?

tagging ruby-on-rails acts-as-taggable-on

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

带有空格的网址的http.get

玩弄节点js和图像下载器.我偶然发现了网址问题,http.get如果网址在查询中包含空格,我就失败了.我设法通过自己逃避网址路径来解决问题.如果我使用url.parse()路径变量将在第一个空格处被切断.我的解决方案有效,但我想知道是否有更好的解决方案.

function downloadFileFromURL( file_url, callback ) 
{
    //-------------
    // really complicated way to get a http.get save path
    var protocol = url.parse( file_url).protocol;
    var host = url.parse( file_url ).host;
    var full_domain =  protocol + '//' + host;
    var escaped_path =  escape(file_url.substring( full_domain.length ));

    var options = {
        host: host
      , port: 80
      , path: escaped_path
    }

    var file_url_info = url.parse( file_url );
    var file_path = path.join( __dirname, 'images', path.basename(file_url) );

    var request = http.get( options , …
Run Code Online (Sandbox Code Playgroud)

node.js

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

如何在ActiveRecord中创建"OR"语句?

我试图在ActiveRecord 3中创建一个'OR'sql语句,我尝试了各种各样的变化,但无法弄清楚...

例如,我希望此查询包含多个"channel_ids",并让它返回任何频道ID的所有帖子.这适用于一个:

Post.where(:user => 'mike').where(:channel_id => 0).limit(20)
Run Code Online (Sandbox Code Playgroud)

但我无法弄清楚如何用倍数来做,我试过例如:

Post.where(:user => 'mike').where(:channel_id => ?, [0,1,2,3]).limit(20) 
Run Code Online (Sandbox Code Playgroud)

但它不起作用.我怎样才能做到这一点?

activerecord ruby-on-rails

5
推荐指数
2
解决办法
2817
查看次数

删除主要循环内的向量并添加元素

我之前搜索过但找不到任何答案.我对c ++有些新意,所以希望这个问题不会太愚蠢.

我试图在向量中添加和删除元素,在我的情况下,在大型更新期间填充粒子或在所有粒子上绘制循环.例如,移除一些粒子,因为它们已经死亡,但也添加了一些粒子,因为一个粒子与一个物体相撞,我想在碰撞点显示一个小粒子爆发.我在演示文件中制作了这个简单的测试代码,以找到问题的根源.

我认为问题是因为我删除并添加粒子,迭代器指针变得无效.删除工作,但当我添加一些随机的,我得到一个空指针.下面的代码有点冗长,我知道我应该使用带有begin()和end()的迭代器,但我遇到了同样的问题,并且稍微使用了代码,尝试更多的javascript数组样式循环因为我更熟悉那.

void testApp::drawParticles()
{

    int i=0;
    int max = particles.size();
    vector<Particle*>::iterator it = particles.begin();

    while ( i < max ) {

        Particle * p = particles[i];

        if ( ofRandom(1) > .9 ) {
            it = particles.erase(it);
            max = particles.size();
        } else {
            ofSetColor(255, 255, 0);
            ofCircle( p->x, p->y, p->z, 10);

            if ( ofRandom(1) < .1 ) addSomeNewOnes();
            i++;
            it++;
        }
    }


}

void testApp::addSomeNewOnes()
{
    int max = ofRandom(4);

    for ( int i=0; i<max; i++ ) { …
Run Code Online (Sandbox Code Playgroud)

c++ vector openframeworks

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