Ruby on rails 通过rails表单中的单选按钮在数据库中传递值
我有一个问题,因为我是RubyonRails新手。我正在使用的表单提交一些值。我将通过隐藏字段传递一个值作为登录用户的角色。用户依赖于其角色。若角色是客户端,那个么用户被重定向到客户端页面,若角色是管理员,那个么用户被重定向到管理员页面。我通过隐藏字段分配角色,如下所示:Ruby on rails 通过rails表单中的单选按钮在数据库中传递值,ruby-on-rails,ruby,ruby-on-rails-4,Ruby On Rails,Ruby,Ruby On Rails 4,我有一个问题,因为我是RubyonRails新手。我正在使用的表单提交一些值。我将通过隐藏字段传递一个值作为登录用户的角色。用户依赖于其角色。若角色是客户端,那个么用户被重定向到客户端页面,若角色是管理员,那个么用户被重定向到管理员页面。我通过隐藏字段分配角色,如下所示: 现在我想删除隐藏字段,并想通过单选按钮分配角色。请帮助我如何通过表单中的单选按钮传递角色。我将非常感谢您的帮助。如果我理解正确,您需要这样的帮助: <%= f.radio_button :role, 'user', ch
现在我想删除隐藏字段,并想通过单选按钮分配角色。请帮助我如何通过表单中的单选按钮传递角色。我将非常感谢您的帮助。如果我理解正确,您需要这样的帮助:
<%= f.radio_button :role, 'user', checked: true %>
<%= label :role_user, 'User' %>
<%= f.radio_button :role, 'client' %>
<%= label :role_client, 'Client' %>
<%= f.radio_button :role, 'admin' %>
<%= label :role_admin, 'Admin' %>
假设您的
@角色是一个数组:
@roles = ['client', 'admin']
然后在视图中,您可以执行以下操作:
<% @roles.each do |role| %>
<%= f.label :role, role.humanize, :value => role %>
<%= f.radio_button :role, role %>
<% end %>
使用正确的params
键更改params[:用户][:角色]
,以访问响应中传递的值。另外,使用应用程序中的实际路由帮助程序更改客户端路径
和管理员路径
。能否显示:@roles
有哪些功能?只需执行:放置@roles.inspect
。感谢回复@surya。@roles返回client和admin。在我的url中有类似localhost:3000/blog/sign_-In?client的路径,然后@roles以client身份登录用户,如果url具有admin角色,则以admin身份登录。除非人们了解您正在尝试做什么以及您的具体情况,否则他们无法提供帮助手。您能提供创建/分配@角色的代码吗?
?我只需要两个单选按钮。一个用于客户端,一个用于管理员。如果用户选中客户端按钮,则他应该在登录后重定向到客户端页面;如果选中管理员按钮,则应该重定向到管理员
before_filter :check_role
def check_role
if params[:user][:role] == 'client'
redirect_to client_path
elsif [:user][:role] == 'admin'
redirect_to admin_path
end
end