2011-04-27 11 views
1

我正在使用Rails 3和Mongoid。如何使用Rails 3在我的數據庫中存儲單選按鈕選擇?

我能夠存儲文本字段並選擇字段,但無法看出如何在提交表單時如何在數據庫中存儲無線電選項。這裏是我的代碼...

型號

class Somerandomname 
    include Mongoid::Document 

    field :name 
    field :option 
end 

控制器

def create 
    @somerandomname = current_user.somerandomnames.new(params[:somerandomname]) 

    respond_to do |format| 
     if @somerandomname.save 
     format.html { redirect_to(@somerandomname, :notice => 'Somerandomname was successfully created.') } 
     else 
     format.html { render :action => "new" } 
     end 
    end 
    end 

查看

<%= f.label :name , "Name:" %> 
<%= f.text_field :name %> 


<%= radio_button_tag(:option, "option1") %> 
<%= label_tag(:option_option1, "option 1") %> 
<br /> 
<%= radio_button_tag(:option, "option2") %> 
<%= label_tag(:option_option2, "option 2") %> 

做什麼I N在我的模型和控制器文件中,以便將選擇捕獲到我的數據庫中?

回答

2

試着改變你的視圖:

<%= f.label :name , "Name:" %> 
<%= f.text_field :name %> 


<%= f.radio_button(:option, "option1") %> 
<%= f.label(:option_option1, "option 1") %> 
<br /> 
<%= f.radio_button(:option, "option2") %> 
<%= f.label(:option_option2, "option 2") %> 

這將導致生成的輸入字段有命名空間內適當@name:somerandomname。

+0

感謝您的幫助兄弟。這工作。 – sevens 2011-04-28 15:35:55

0

您可以在模型中有一個名爲option的字段。而在你的控制器,你可以做

model.option = params[:option] 
model.save 

取決於什麼單選按鈕被選中則params的值:選項]將被設置(到所選擇的單選按鈕的值)。

+0

我沒有得到它的工作。我將編輯我的原始問題以添加更多詳細信息。 – sevens 2011-04-28 15:02:16

0

就參數而言,單選按鈕就像複選框一樣:它們都有一個參數名稱和一個值,它們在檢查時發送。唯一的區別是,一組特定的單選按鈕在選中時彼此不勾選,因此只能選擇其中的一個。

因此,在你的例子中,你的db表中會有一個名爲'option'的字段,它將從params [:option]中設置,它將等於「option1」,「option2」或「option3」 。

相關問題