簡體   English   中英

Rails 3.2.13 active_admin未定義的局部變量或方法

[英]Rails 3.2.13 active_admin undefined local variable or method

長期潛伏者首次提出問題。

我剛剛啟動了一個新的Rails項目,該項目在Rails 3.2.13和ruby 2.0上運行。 從技術上講,這是全新安裝。 我僅添加的寶石是pry和activeadmin +所需的元搜索,sass-rails和coffee-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新應用進行自定義。 我了解到,當我訪問/ admin / houses時,確實沒有可變房屋,因為還沒有選擇房屋。 但同時,也沒有側邊欄,因此應該沒有意義。

我嘗試了沒有'house'的鏈接,就像Zippie建議的那樣,但是遇到了錯誤“沒有路線匹配{:controller =>“ admin / bookings”}而且,這是我的耙路http://pastebin.com/i48mVr0e

我想出了一種不同的方式來實現它,雖然不那么漂亮和通用,但這是代碼

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

出於紅寶石的緣故,我將這三個請求移到了輔助函數中。

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

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM