2
我在我的ROR應用程序中使用了一個哈希常量。我想從哈希常量中顯示names
以下拉。在下拉列表中顯示幫助程序方法的值
helper.rb
PRODUCE_GROWING_METHODS = [
{id: 1, name: 'Conventional'},
{id: 2, name: 'Organic'},
]
def produce_growing_methods
PRODUCE_GROWING_METHODS
end
_produce.haml
= f.simple_fields_for :produce_details do |pd|
= pd.input :produce_growing_method, :collection => produce_growing_methods.collect { |x| [x[0], x[1]] }, :prompt => "Select Growing Method"
我試圖在_produce.haml
如上圖所示,但我得到空下拉。來自常量的Names
未在下拉列表中填充。
任何一個可以幫助我如何顯示從PRODUCE_GROWING_METHODS
哈希常數names
下拉。
謝謝
是否確定了'CONSTANT'是提供給助手?常數在哪裏申報? –
嘗試'produce_growing_methods.map {| x | [x [:id],x [:name]]}'因爲[0]和[1]將返回nil。在Hash中,'[]'方法是通過鍵尋找一個元素,因爲你沒有鍵'0'或'1',所以你總是會得到零。另一個選擇是使'PRODUCE_GROWING_METHODS'成爲像[[1,'Conventional'],[2,'Organic']]'的多維數組,然後你可以直接將它傳入像'collection:produce_growing_methods ' – engineersmnky
@engineersmnky你是對的。請發佈這個答案。 – user2681579