具有简单形式的预填充,部分不可编辑的输入字段?

时间:2016-01-07 14:58:56

标签: ruby-on-rails ruby simple-form

是否可以创建一个部分填充的输入字段,但填充的部分不可编辑,并且还没有提交? 这可能看起来令人困惑,所以这是一个简单的例子 我有一个字段,看起来像网址。我希望用户指定,比方说,他的名字,所以该字段应如下所示:

www.something.com/users/ 输入

用户不能编辑粗体部分,只能编辑“输入”部分。另外,我只想提交输入,而不是整个网址。所以基本上我需要这样的东西

<%= f.input :name, :not_editable_decoration: "www.something.com/users/" %>

2 个答案:

答案 0 :(得分:1)

您可以尝试这样的事情:

<div class="form-group">
    <div class="input-group">
      <span class="input-group-addon">www.something.com/users/</span>
      <%= f.input :url, input_html: { class: 'form-control' } %>
    </div>
</div>

以上示例使用bootstrap css。

您也可以在控制器中将静态URL放入某个实例变量中。

@static_url = "www.something.com/users/"

<span class="input-group-addon"><%= @static_url %></span>

link to Fiddle

答案 1 :(得分:1)

您无法对show使用users操作,但您可以使用wildcard route

#config/routes.rb
resources :users, except: :show do
   get "*input", to: :action, on: :collection #-> url.com/users/*input
end

这会将params[:input]变量传递给您的操作/视图,您可以在表单中使用该变量:

<%= f.input :name, :not_editable_decoration: "www.something.com/users/", value: params[:input] %>