2015-03-03 16 views
0

我已經它顯示一個下拉菜單下面的代碼(我有這種方式的這樣的形式示出了最後選擇的選項)。我想將與選擇相關的值傳遞給我的控制器中的一個方法。Rails中傳遞一個局部值到控制器4的方法

我想這個保存到其指定爲我的用戶模型中的整數中的「選擇」值。選擇的初始值爲0

我似乎無法找到一種方法,與當地的「價值」要做到這一點。

<select class="form-control"> 
    <option value= 1>One</option> 
    <option value= 2>Two</option> 
    <option value= 3>Three</option> 
</select> 

<%= link_to "Select", {controller: :controller_name, action: :method_name, value: :value} %> 

控制方法(我使用的設計稱之爲 「CURRENT_USER」)

def method_name 
    current_user.choice = value 
    current_user.save 
    redirect_to root_path 
end 
+0

可以使用的form_for如上面指定包含一個選擇框。併爲method_name添加'post'路由,而不是使用get請求。 – Anuja 2015-03-03 14:26:17

+1

你'value'可能是包含在'params':'PARAMS [:值]'。我的建議是學習一些Rails基礎知識。 – 2015-03-03 14:26:19

回答

1

嘗試form,這裏是你需要下面的內容示例:

<%= form_tag(url_for(controller: 'controller_name', action: 'method_name'), method: :method_type(PUT, POST, etc.) do %> 
    <div class="form-group"> 
    <%= label_tag(:choice, "Choice") %> 
    <%= select_tag(:choice, options_for_select([0, 1, 2, 3], selected: 0)) %> 
    </div> 
    <%= submit_tag 'Save'%> 
<% end %> 

作爲評論者逃避到,在你的方法,你可以再使用:

def method_name 
    current_user.choice = params[:choice] 
    current_user.save 
    redirect_to root_path 
end 
+0

謝謝。我曾與form_for玩過,但這正是我所期待的。 – Sacrulen 2015-03-03 15:19:09

相關問題