2017-07-28 138 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