2011-12-30 65 views
2

這可能是SO上最愚蠢的問題,但我無法解決問題。 我爲一個項目使用舊版Rails 2.3.3,並使用jQuery對話框顯示錶單。窗體有一個選擇框,我正在渲染這樣的。Rails選中字段沒有顯示在表格上

<%= f.select :recurr_frequency, [["Daily", "Daily"], ["Weekly","Weely"], ["Monthly", "Monthly"]], {:selected => "Daily", :value => "Daily"} %>

我看到,作爲預期,但瀏覽器上的形式不顯示此(在JavaScript控制檯觀察時)的HTML,以顯示所選擇的屬性。

如果這是一個瀏覽器問題,我完全無能爲力(,但我無法在任何瀏覽器中查看此內容)或者我在做Rails問題。

因此,當我提交表單而沒有從下拉列表中選擇任何內容時,默認選定值永遠不會傳遞給服務器。真的很感激一些幫助。

回答

1

這聽起來像一個非封閉的標籤問題......

如果您在生成的HTML代碼

<input type="text" name="whatever" id="whatever"/
<select id="..." name="...> 
    <option value="Weekly">Weekly</option> 
    ... 
</select> 

你的SELECT語句沒有得到呈現了這樣的事情,導致輸入標籤之前未關閉。 它無關,與Rails的本身,但它可以,如果你正在寫 HTML無軌幫手......

檢查你的非關閉的標籤選擇標記之前源碼..在視圖中容易發生

希望這會有所幫助!

+0

檢查非封閉標籤。這些字段在選中時工作,但當用戶沒有明確選擇某個選項時,只有默認值永遠不會被傳遞。我沒有任何提示或空白值。 – Sid 2011-12-30 13:15:07

0

我認爲問題在於你沒有在正確的位置設置:selected選項。在你的例子中,它看起來像你在選擇幫手本身而不是在選項中。您需要使用在options_for_select中選擇的:。

例如,這應該默認爲週刊:

<%= f.select :recurr_frequency, options_for_select([["Daily","Daily"], ["Weekly", "Weekly"], ["Monthly","Monthly"]], :selected => "Weekly") %> 
+0

呃......實際上看起來你的用法在第二次評論中沒有問題。可能值得嘗試在控制器中設置一個默認值,並在提交後查看它是否通過。 – miked 2011-12-30 16:01:20

+0

我也嘗試過使用options_for_select,我似乎無法得到默認值顯示時窗體加載。 – Sid 2012-01-02 04:26:00

+0

我添加了一個適用於我的示例。試一試。如果不是,那麼在控制器操作中設置@ object.recurr_frequency =「Daily」時會發生什麼? – miked 2012-01-03 20:33:23