2017-07-28 64 views
0

我正在嘗試使用simple_form進行表單,並且有多個選擇部分。所有的數據都被保存(我有名字,姓氏,電子郵件...),但多選單選按鈕始終是一個空字符串。 如何製作一個簡單的選擇列表並保存該選項?Simple_form和Rails - 多項選擇

架構:

create_table "greetings" do |t| 
    t.string "first_name" 
    t.string "last_name" 
    t.string "nickname" 
    t.string "multiple_choice" 
end 

控制器:

def new 
    @greeting = Greeting.new 
end 

def create 
    @greeting = Greeting.new(greeting_params) 
    @greeting.save 
end 

private 
    def greeting_params 
    params.require(:greeting).permit(:first_name, :last_name, :nickname, :multiple_choice) 
    end 

日誌:

開始POST 「/問候」 爲:: 1在2017年7月28日17點32分: 19 +1000 GreetingsController處理#以HTML格式創建參數: {「utf8」=>「✓」,「authenticity_token」=>「...」, 「greeting」=> {「first_name」=>「John」,「last_name」=>「Doe」, 「nickname」=>「Johnny」,「multiple_choice」=>「」}, 「multiple_choice」=> BEGINSQL (0.4ms)INSERT INTO「greetings」(「first_name」,「last_name」, 「nickname」,「multiple_choice」,「created_at」, 「updated_at」)VALUES($ 1, $ 2,$ 3,$ 4,$ 5,$ 6,$ 7)RETURNING「id」[[「first_name」,「John」], [「last_name」,「Doe」],[「 「,」Johnny「],[」multiple_choice「,」「], [」created_at「,2017-07-28 07:32:19 UTC],[」updated_at「,2017-07-28 07:32: 19 UTC]]

我想使這個多重彩

  • 名稱
  • 暱稱

我試着在view.slim

= simple_form_for @contact_form do |f| 
= f.input :first_name, label: 'First name', placeholder: 'Enter first name...' 
= f.input :last_name, label: 'Last name', placeholder: 'Enter last name...' 
= f.input :nickname, label: 'Nickname', placeholder: 'Enter nickname...' 
= f.input :multiple_choice, :collection => ['Name'], :as => :radio_buttons 
= f.input :multiple_choice, :collection => ['Surname'], :as => :radio_buttons 
= f.input :multiple_choice, :collection => ['Nickname'], :as => :radio_buttons 

但它節省了一個空字符串通過ce。

謝謝!

+0

郵政原木沿控制器代碼指一經制成燒成提交 – Pavan

+0

編輯,謝謝! –

+0

發佈完整的日誌請包括一切。 – Pavan

回答

0

我找到了單選按鈕的解決方案:

view.slim: 

p Name 
= f.radio_button :call_time, 'first_name' 
p Surname 
= f.radio_button :call_time, 'last_name' 
p Nickname 
= f.radio_button :call_time, 'nickname' 
= f.button :submit