2017-10-27 14 views
0

アクティブ/非アクティブブールタグを持つデータを非表示にしようとしています。アクティブな管理アプリケーションのダッシュボードでは、アクティブなドライバデータのみを表示します。アクティブな管理ダッシュボードで非アクティブデータを非表示にする方法

各パネルの

Iは、次のコードがあります。私は#私は、IFなステートメントを使用するラインを有する

column do 
     span 
     #if Driver.where(status: "false", active: true).unscope(where: :status) == Driver.where(active: false) 
     if Driver.where('v_ins_exp < ?', Time.now).present? 

     panel "Vehicle Insurance expired" do 
      table_for Driver.where('v_ins_exp < ?', Time.now).reverse_order do |t| 
       t.column "REMNET ID", :remnet 
       t.column "First Name", :f_name 
       t.column "Last Name", :l_name 
       t.column "Vehicle Make", :v_make 
       t.column "Vehicle Reg",:v_reg 
       t.column("Insurance Date") { |driver| driver.v_ins_exp? ? l(driver.v_ins_exp, :format => :long) : '-' } 
      end 
      #end 
     end 
     end 
    end 

は、現在、運転者の状態を確認することなくパネルからすべてのデータを除去します。

私はscopeとdefault_scopeを使ってみましたが、 '未定義のメソッド'エラーが返されました。

私のアプローチが間違っているか、コードが間違っているかわかりません。

答えて

0

私はこれが私のために働いていた、それを考え出した:私はtable_forライン上の条件を追加

if Driver.where('v_ins_exp < ?', Time.now).present? 
     panel "Vehicle Insurance expired" do 
      table_for Driver.where('v_ins_exp < ?', Time.now).reverse_order.where(:status => true) do |t| 
       t.column "REMNET ID", :remnet 
       t.column "First Name", :f_name 
       t.column "Last Name", :l_name 
       t.column "Vehicle Make", :v_make 
       t.column "Vehicle Reg",:v_reg 
       t.column("Insurance Date") { |driver| driver.v_ins_exp? ? l(driver.v_ins_exp, :format => :long) : '-' } 
      end 
     end 
     end 
    end 

ではなく、IF文を渡す:

table_for Driver.where('v_ins_exp < ?', Time.now).reverse_order.where(:status => true) do |t| 

が持っている愚かなことのように見えます私は一緒に行くように勉強しました。 :)

関連する問題