我想在我的 Rails 表单中有一个下拉菜单,用户可以在添加订单时选择城市的一个区域,例如“Marchmont”、“New Town”、“Baberton”等。我希望一旦他们做出选择,这将成为他们使用表单添加订单的以下时间的默认选择(这样他们就不必继续选择它)而且他们可以更改他们随时选择。希望这是有道理的。我正在使用简单表单 gem。提前致谢!:)
2 回答
0
@史蒂夫
我会做几个假设。
1.) 你知道如何在 Rails 模板引擎中创建表单。2.) 您了解如何使用 Simple Form gem 创建下拉菜单
因此,根据您实际想要完成的任务,您有几个选择。根据您简要描述的内容,听起来您有某种电子商务/结帐情况,您希望自动完成以使用户更容易。
有几种方法可以存储这些数据。
保存用户数据。
1.) 将其保存在 District_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
于 2019-03-19T15:52:58.310 回答
0
如果您可以选择使用 gems,我使用 select2-rails 取得了不错的效果。
于 2019-03-21T22:20:40.713 回答