我正在使用那个使用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
答案 0 :(得分:1)
问题是在我的控制器中我应该使用true
和false
,并且在视图中应该是:
<%= @movies.where(:reel_online => 't').count %>