我想在ldap搜索后立即动态创建用户。
在应用程序中,用户可以在ldap中搜索id,如果该人员存在于ldap中,则返回id和名称。
我想要实现的是当显示id(搜索后)时,当前用户应该可以选择使用从ldap返回的id和名称来创建新的本地用户。
以下是我的观点:
<% if @users_ldap %>
<%= @users_ldap.second.first %> # name
<%= @users_ldap.first.first %> # id
# button to save info as local user here
我是否在这里重定向到用户控制器中的create方法?有没有办法在不离开当前页面的情况下执行此操作? (如果我希望能够在不刷新的情况下一次添加多个)
更新
添加了一行:
<% link_to 'Add', User.create({:id => @users_ldap.second.first, :name => @users_ldap.first.first, :group_ids => ["#{params[:id]}"] }) %>
在搜索完成后立即添加用户。我仍然想让它变得动态(所以点击按钮就行了)
答案 0 :(得分:0)
如果您不是异步执行此操作,则是,该按钮应链接到users#create
操作。
在rails类型中创建用户需要执行两项操作,new
操作可创建新的空白用户实例,create
操作可根据您的user_params
实际创建用户哈希值。该按钮应链接到此create
操作。您可以通过更改form_tag
的可选:controller
和:action
属性来修改表单占用的位置。
form_tag(controller: "users", action: "create")
...
只要您有一条链接到users#create
的路线,就会触发该操作。在此操作中,您应该调用User
模型并创建新的用户记录。