2012-08-13 68 views
0

我对Ruby on Rails很新颖......我的问题是从复选框中获取输出。如果 复选框是false,我想显示每个音乐会,但我总是得到其他条件... 如何才能将@concerts = Concert.find(:all, :order => "day")作为标准输出,并且check_box被选中时获取else条件?Rails 3:如何从check_box得到输入

#index.html.erb 
check_box('dm', false, options = {}, checked_value = "1", unchecked_value = "0") 


# controller.rb 
def index 
    if params[:dm] == '0' 
    @concerts = Concert.find(:all, :order => "day") 
    else 
    @concerts = Concert.find(:all, :order => "day", :conditions => {:bool => false}) 
end 

development.log

发起者GET “/”,对于由ConcertsController#指数为HTML [1分[36mConcert负载在2012-08-14 13时21分39秒0200 处理127.0.0.1 (0.0ms)[0m [1mSELECT concerts。* FROM concerts WHERE concertsbool = 0 ORDER BY天[0米 [1分[35mConcert负荷(15.6ms)[0米SELECT concerts。* FROM concerts ORDER BY阵容 [1分[36mConcert负荷(0.0ms)[0米[1mSELECT DISTINCT天FROM concerts ORDER BY天[0米 [1分[35mConcert负荷(0.0ms)[0米SELECT DISTINCT club_id FROM concerts ... 渲染音乐会/布局内index.html.erb /应用(78.0ms) 完成200 OK在94ms(查看:78.0 MS | ActiveRecord的:15.6ms)

回答

0

试试这个

def index 
    if params[:dm] == '0' 
    @concerts = Concert.find(:all, :order => "day") 
    else 
    @concerts = Concert.find(:all, :order => "day", :conditions => {:bool => false}) 
end 

控制器收到的复选框值为0或1,以字符串形式。此外,它应该是params[:dm]

+0

感谢您的评论!我编辑了代码,但它仍然不起作用... – user1593750 2012-08-13 19:18:09

+0

针对特定请求,使用来自'development.log'的日志消息更新您的问题。 – 2012-08-14 04:07:09

+0

刚刚添加了development.log。这是应用程序加载时的输出。当我检查复选框时,没有任何内容添加到日志文件中... – user1593750 2012-08-14 11:27:51