Rails是不同于mySQL布尔值的postgreSQL布尔值?

时间:2011-10-15 10:33:53

标签: ruby-on-rails ruby ruby-on-rails-3

我正在使用那个使用PostgreSQL的服务器上没有保存的问题。

我在这里有这个动作,它更新了一个布尔值,它可以在我使用mySQL的本地机器上运行:

def reel_online

    @movie = Photographer.find(params[:id])

    if @movie.reel_online == false
      @movie.update_attributes(:reel_online => true)
    else
      @movie.update_attributes(:reel_online => false)
    end

    render :nothing => true
end

奇怪的是,使用firebug我可以看到服务器上没有错误,但boolean dos没有改变。

更新 我把行动改为:

def reel_online

    @movie = Photographer.find(params[:id])

    if @movie.reel_online == 'f'
      @movie.update_attributes(:reel_online => 't')
    else
      @movie.update_attributes(:reel_online => 'f')
    end

    render :nothing => true
end

仍然没有错误但是没有保存布尔值。我的真正的reel_online数是0:<%= @movies.where(:reel_online => 't').count %>在我的MySQL数据库中,我已将所有reel_online设置为0

1 个答案:

答案 0 :(得分:1)

问题是在我的控制器中我应该使用truefalse,并且在视图中应该是:

<%= @movies.where(:reel_online => 't').count %>