繁体   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