【问题标题】:refactor params permited to change input重构允许更改输入的参数
【发布时间】:2020-11-11 05:58:55
【问题描述】:

起初我是 rails 的新手,我有 rails 应用程序女巫包含每个用户的配置文件,在基于每个用户性别的配置文件前面发送一个参数。例如“先生。”但在我的控制器中我无法接受,所以它返回错误

"#",

我想编辑我的控制器以获取参数并将其更改为不带点,我认为也许可以使用 gsub 但是当我尝试编辑它时返回错误

"exception": "#>",

,是否可以在参数许可中进行重构。这是我的控制器

def update
    if (profile_update_params.present?)
      profile_update_result = ::Api::V1::Profile::Update.call(profile_params: profile_update_params, profile: @current_user.profile, request: request)
      return render json: Helpers::ErrorsHandler.view_parse(profile_update_result), status: :bad_request if profile_update_result.errors
    end

    if (user_update_params.present?)
      user_update_result = ::Api::V1::User::Update.call(user_params: user_update_params, user: @current_user)
      return render json: Helpers::ErrorsHandler.view_parse(user_update_result), status: :bad_request if user_update_result.errors
    end

    result = sheriff
    render result.view
  end

这是我的参数许可

  def profile_update_params
    params.permit(:phone, :title, :email, :gender, :first_name, :last_name, :description, :job_title, :time_zone)
  
  end

【问题讨论】:

    标签: ruby-on-rails ruby gsub


    【解决方案1】:

    我发现使用 gusb 是正确的,但我在错误的地方使用,我不需要将孔参数更改为字符串,所以我将我的字段从参数中取出并更改我的参数许可,如下所示,一切都很好

     def profile_update_params
    params.permit(:phone, :email, :gender, :first_name, :last_name, :description, :job_title, :time_zone).merge({title: params[:title].to_s.gsub(".", "")})
    end
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-21
      • 1970-01-01
      • 1970-01-01
      • 2021-03-24
      • 2018-07-09
      • 2012-06-20
      相关资源
      最近更新 更多