2014-06-26 67 views
0

給我的錯誤與此代碼未定義的方法`stringify_keys'假:FalseClass

module Spree::Admin::ProductsHelper 
    def stores_checkbox 
    capture do 
     Spree::Store.all.each do |store| 
     concat hidden_field_tag "product[store_ids][]", store.id, @product.stores.include?(store) 
     end 
    end 
    end 
end 

但它是確定與這一個....

module Spree::Admin::ProductsHelper 
    def stores_checkbox 
    capture do 
     Spree::Store.all.each do |store| 
     concat check_box_tag "product[store_ids][]", store.id, @product.stores.include?(store), :style => "display: none;" 
     end 
    end 
    end 
end 

什麼問題?

回答

2

更改此:

hidden_field_tag "product[store_ids][]", store.id, @product.stores.include?(store)

到:

hidden_field_tag "product[store_ids][]", store.id

問題:hidden_field_tag期待一個散列,因爲它是最後一個參數,但你傳遞一個false(布爾) 。

我建議的更改會將產品store_id添加爲表單上的隱藏字段,其值設置爲store.id

您可以閱讀更多關於hidden_​​field_tag here的信息。

0

您的第三個參數需要是選項散列。 具有不同的方法簽名,其中第三個參數是初始選中狀態,而選項哈希是第四個參數。無論何時你看到stringify_keys錯誤,你的第一個猜測應該是希望散列,並且你提供了其他東西。只是擺脫你的第三個參數,它應該工作正常。

相關問題