Rails-选择下拉电子邮件以选择相关记录的用户

时间:2017-01-15 05:19:04

标签: ruby-on-rails ruby-on-rails-5

我有一个表单来更新属于用户的user_id。我希望管理员能够编辑用户,但我不想输入= form_for @jog, remote: true do |f| h2 "Edit Record" table.ui.single.line.table tb tr td .ui.input = f.text_field :distance, placeholder: "distance (meters)" td .ui.input = f.text_field :time, placeholder: "time (minutes)" - if(current_user.admin?) td .ui.input = f.text_field :user_id, placeholder: "User ID" td = f.submit "Update", class: "ui button" ,而是从下拉菜单中选择用户的电子邮件。

user_id

以上是我到目前为止所做的,它会自动生效,因为Joguser_id中的一个字段。但是如何使用电子邮件地址填充编辑表单,当我提交表单时如何将其转换为class UserPresenter < BasePresenter end class AdminPresenter < BasePresenter end class EventPresenter < BasePresenter end

2 个答案:

答案 0 :(得分:0)

这里有一个选择下拉列表,其中一个字段可见,但另一个字段传递给表单:

 = f.select :user_id, User.all.map{|u| [u.email, u.id]}, {}, { class: "ui compact selection dropdown" }

课程内容适用于语义用户界面,如果您没有使用该框架,则不需要。

答案 1 :(得分:0)

此处定义的css类来自Semantic UI。通过搜索类,您可以轻松搜索下拉列表。虽然{selected: @jog.user-id}选项可以在您决定编辑该字段时随时选择用户。

<%= f.select(:user_id , User.all.collect { |user| [ user.email, user.id ] }, {selected: @jog.user_id}, {class: "ui dropdown search"} ) %>