从rails中的ldap信息动态创建用户

时间:2014-10-23 20:13:55

标签: javascript jquery ruby-on-rails ruby ldap

我想在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]}"] }) %>

在搜索完成后立即添加用户。我仍然想让它变得动态(所以点击按钮就行了)

1 个答案:

答案 0 :(得分:0)

如果您不是异步执行此操作,则是,该按钮应链接到users#create操作。

在rails类型中创建用户需要执行两项操作,new操作可创建新的空白用户实例,create操作可根据您的user_params实际创建用户哈希值。该按钮应链接到此create操作。您可以通过更改form_tag的可选:controller:action属性来修改表单占用的位置。

form_tag(controller: "users", action: "create")
...

只要您有一条链接到users#create的路线,就会触发该操作。在此操作中,您应该调用User模型并创建新的用户记录。