2015-08-28 50 views
0

也許我很愚蠢,但我一直在嘗試使用ruby on rails爲輸入設置默認值數小時,並且沒有破解它。Rails - 來自記錄的輸入默認值

我做了一個部分,可以讓用戶創建新的記錄,但也會顯示現有的記錄,如果他們存在。代碼如下

<input type="text" <%= (@prices.empty? || @prices.first.name.length == 0) ? 'placeholder="General admission"' : "value=" + @prices.first.name.to_s %> > 

這對於存在,除非有一個空間,例如任何值完美的工作原理,如果price.name =「一般取」,或者如果price.name =「」(在這種情況下打印佔位符)我得到以下產品

<input type="text" admission&#39;="" value="'general" id="event_price_name" name="[event][price][0][name]" aria-label="..." class="form-control"> 

它似乎被絆倒的空間。

我是不是試圖用Rails來設計它?我更習慣於PHP這可能是它!

感謝

回答

2

您應該使用text_field_tag幫助建立的投入,這是優於具有部分插值建立它。此外,如果有值,佔位符將自動被覆蓋,所以您不需要在代碼中處理該部分,這就是瀏覽器默認情況下的行爲。

<%= text_field_tag :admission, @prices.first.name.to_s, {placeholder: 'General Admission'} %> 
+0

此外,如果你想要一個默認值,你通常在控制器中設置它。您的輸入字段通常基於數據庫中的列(或者如果您願意,可以使用「模型上的屬性」),因此您可以實例化一個對象並給它一些默認值。主要內容是這樣的:你不能在Ruby或RoR中編寫PHP風格的代碼。不起作用。我給你的建議是我給予你所有人的建議:停下來 - 從字面上停下來 - 閱讀Rails封面。你可以在幾天內做到這一點,但是一週之內你會走到盡頭。 –