簡體   English   中英

如何在Rails表單中創建下拉列表,用戶可以在其中更改默認值?

[英]How do I create a drop down in a Rails form where the user can change the default value?

我希望在我的Rails表單中有一個下拉菜單,用戶可以在添加訂單時選擇城市區域,例如“Marchmont”,“New Town”,“Baberton”等。 我希望一旦他們做出選擇,這將是以下時間的默認選擇,他們使用表單添加訂單(這樣他們不必繼續選擇它),而且他們可以改變隨時隨地選擇。 希望有道理。 我正在使用“簡單表單”寶石。 提前致謝! :)

@Steve

我將作兩個假設。

1.)您知道如何在rails模板引擎中創建表單。 2.)您了解如何使用Simple Form gem創建下拉菜單

因此,根據您實際想要完成的內容,您有幾個選項。 根據您簡要描述的內容,聽起來您有某種電子商務/結賬情況,您希望自動完成以使用戶更容易。

有幾種方法可以存儲這些數據。

保存用戶數據。

1.)將其保存在zone_of_last_order下的用戶模型上

2.)將其保存在用戶has_many訂單的訂單模型上。 然后,您可以拉出第一個訂單所在的城市,然后選擇

我個人傾向於#2,因為您可能希望能夠將訂單與用戶緊密聯系,並且保存該信息兩次是多余的,因為您總是可以執行類似current_user.orders.first.district或其他的操作,

在您構建表單的ERB中,您可以按照以下方式執行某些操作:

<%= simple_form_for(@order) do |f| %>

... other input fields 

<% if current_user.orders.first %>
  <%= f.input as: :select selected: current_user.orders.first.district %>
<% else %>
  <%= ... your regular dropdown menu here without the default  %>
<% end %>


... rest of your form

如果您可以選擇使用gems,那么我使用select2-rails獲得了良好的結果。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM