这是我的第一个 Rails 项目。我正在尝试编写一个表单,当登录用户是管理员时,该表单允许我为任何用户切换“管理员”字段。
在搜索堆栈溢出时,我发现了如何使用 @post 和 remote: => true 来做到这一点。
但是,似乎单击 make admin 链接会将每个用户更改为管理员,并且 remove admin 链接会从管理员列表中删除每个人。不知道为什么这样做。这是代码:
<% @users.each do |user| %>
<li>
<%= gravatar_for user, size: 35 %>
<%= link_to user.name, user %>
<% if current_user.admin? && !current_user?(user) %>
| <%= link_to "delete", user, method: :delete,
data: { confirm: "You sure?" } %>
<% if user.admin? %>
| <%= link_to "remove admin rights", @post, :method => user.toggle!(:admin), :remote => true,
data: { confirm: "You sure?"}%>
<% else %>
| <%= link_to "make admin", @post, :method => user.toggle!(:admin), :remote => true,
data: { confirm: "You sure?"}%>
<% end %>
<% end %>
</li>
<% end %>
谢谢!!