如何从已发布的表单中获取价值

时间:2017-11-03 14:27:46

标签: ruby-on-rails ruby

我有一个新的管理表单。在此表单中,我只有用户名和密码字段。我只想在添加新管理员时显示用户名。

当我使用params[:admin]时,它正在获得{"username"=>"admin", "password"=>"123123"}

当我使用params[:admin].permit(:username)时,它会获得{"username"=>"admin"}。但我只想得到价值,比如“admin”。

admins_controller.rb create
def create
    @admin = Admin.new(admin_params)
    if @admin.save
      redirect_to admin_admins_path
      flash[:notice] = "new admin added.. #{params[:admin].permit(:username)}"

    else
      render 'new'
      flash[:alert] = 'there is a error...'
    end
  end

谢谢,抱歉我的语言不好:)

2 个答案:

答案 0 :(得分:1)

简单地做

params[:admin][:username]

答案 1 :(得分:1)

params是一个哈希,所以你可以这样做:

params = {one: 1, two: 2}
params[:one] # returns 1
params[:two] # returns 2

如果你在散列中有哈希,你可以这样做:

params = {numbers: {one: 1, two: 2}}
params[:numbers][:one] # returns 1
params[:numbers][:two] # returns 2