2013-04-10 81 views
1

長時間潛伏者首次登陸時間較長的問題提問者。Rails 3.2.13 active_admin未定義的局部變量或方法

我剛開始一個新的rails項目,運行在Rails 3.2.13和ruby 2.0上。 它在技術上是一個乾淨的安裝。只有我添加的寶石是pry和activeadmin +所需的元搜索,sass-rails和咖啡欄。遵循active_admin設置說明和belongs_to段落。

/app/admin/houses.rb 
ActiveAdmin.register House do 
    sidebar "Details" do 
    ul do 
     li link_to("Bookings", admin_house_bookings_path(house)) 
    end 
    end 
end 

/app/admin/bookings.rb 

ActiveAdmin.register Booking do 
    belongs_to :house 
end 

現在,當我訪問房屋時,我得到了rails終端的錯誤信息。

ActionView::Template::Error (undefined local variable or method `house' for #<ActiveAdmin::Views::SidebarSection:0x007fb8b0989a98>): 
    1: insert_tag renderer_for(:index) 
    app/admin/houses.rb:4:in `block (3 levels) in <top (required)>' 
    app/admin/houses.rb:3:in `block (2 levels) in <top (required)>' 

就像之前所說的,我沒有對rails新應用程序進行自定義。我明白,當我訪問/管理/房屋時,確實沒有可變房屋,因爲沒有選擇房屋。但是,也沒有側邊欄,所以這不應該是相關的。

我試圖鏈接沒有「家」,像Zippie建議,但跑進錯誤「無路由匹配{:控制器=>‘管理/預訂’} 並且還,這是我耙路線http://pastebin.com/i48mVr0e

+0

如果你說在那裏沒有'house',你試試'admin_house_bookings_path'嗎? – Zippie 2013-04-10 16:01:18

+0

非常感謝您的建議,但這並不奏效,我在我的帖子中添加了新的信息,關於您的建議 – Zed 2013-04-10 16:48:04

回答

1

我制定出了不同的方式做到這一點,而不是漂亮和通用,但這裏的

ActiveAdmin.register House do 
    sidebar "Details" do 
    ul do 
     li link_to "Bookings", "#{request.protocol}#{request.host_with_port}#{request.fullpath}/bookings" 
    end 
    end.. 
end 

和紅寶石的緣故,我搬到了3所請求的功能在助手的代碼。

0

我有一個類似的情況下,嵌套模型ld不會創建有效的鏈接。請嘗試以下操作:

ActiveAdmin.register House do 
    sidebar "Details", :only => :edit do 
    ul do 
     li link_to("Bookings", admin_house_bookings_path(params[:id])) 
    end 
    end 
end 
相關問題