如何在 Rails 表单中设置默认值 url

How to set a default url in a Rails form

在我的应用程序中,用户可以列出某人的 instagram 个人资料,但他们必须将整个 url 复制并粘贴到表单中。

<%= f.url_field :url,required: true,label: "URL (required)" %>

如何将我的表单中的默认 url 设置为 instagram.com/ 以便他们只需要输入用户名?

您可以只要求输入用户名,稍后在 controller/form 模型中删除 @(如果有人粘贴 url 而不是用户名,则删除整个“http://instagram.com/”前缀)

<%= f.text_field :instagram_username, required: true, label: "instagram.com/" %>

控制器类似于:

 obj = Model.new(model_params)
 if (username = params.dig(:some_model, :instagram_username))
   username = username.gsub(%r{https?://instagram.com/}, '').gsub(/^@/, '')
   obj.url = "https://instagram.com/#{CGI.escape username}"
 end