2015-11-17 29 views
0

好吧,讓我的用戶有一個配置文件。在這個配置文件上,他們可以爲他們的配置文件選擇背景顏色顏色是一個字符串。 <%= @ profile.color%> 在配置文件表單中,它們可以用顏色或十六進制代碼填充字符串,因爲我爲每個用戶使用了一個變量css。導軌形式:讓用戶選擇多個選項來完成字符串

我的問題是,我如何讓用戶在預先定義的顏色之間進行選擇,比如twitter或藤蔓?我不知道如何創建這樣的表單。

例如,他們可以在六種顏色之間進行選擇,也可以將輸入信號放在一個精確的十六進制代碼中。

有人能讓我走上正軌嗎?

感謝

<div class="form-group"> 
    Profile color 
    <%= f.text_field :color, id: "inputstyle", class: "form-control", placeholder: "eg: Black or #dde244" %> 
</div> 
+0

您需要更清楚地說明「在預定義顏色之間進行選擇」的含義。它們是在某個地方定義的,還是隻是硬編碼到視圖中? –

+0

Tbh使用color_field足夠大(cc.Dusht答案)。我想要完成的是在某處預先設置顏色,然後讓用戶在這些顏色之間選擇他們的個人資料背景。在這些顏色之間進行選擇的替代方法是輸入顏色的十六進制代碼。如果您使用的是Twitter,那麼您可以爲自己的Twitter個人資料設置一種顏色:單擊編輯個人資料,然後您會看到左側的顏色比預先填充的顏色要多。 – zacchj

+0

沒問題,我提高了'color_field',因爲它對我來說是新手:p –

回答

2

您可以使用color_field

而且用於輸入十六進制值文本框中,一定要放正則表達式(只與軌道4的工作)來驗證

var color_code = /(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test('#ac3')