簡體   English   中英

Rails collection_select語法

[英]Rails collection_select syntax

我的以下代碼有問題:

  = f.collection_select :ch_professional, @ch_professionals

我正在嘗試通過選擇設置ch_professional字段。 @ch_professionals是一個字符串數組。

我收到以下錯誤:

ActionView :: Template :: Error({}不是符號)

我一直在尋找有關collection_select文檔,但找不到正確的語法。

collection_select簽名為

collection_select(對象,方法,集合,value_method,text_method,options = {},html_options = {})

它期望value_methodtext_method是具有方法名稱的符號,這些名稱將被調用以從每個數組元素中獲取相應的值。

關於{}錯誤是由於rails處理選項哈希的方式value_method ,發生了{}默認哈希值最終以value_method結束的value_method

因此,嘗試類似:

= f.collection_select :ch_professional, @ch_professionals, :to_s, :to_s

如果您只有一個字符串數組,並且不需要為選項的值和文本使用不同的值,請使用select表單幫助器,例如

= f.select :ch_professional, @ch_professionals

暫無
暫無

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

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