2016-01-07 83 views
1

是否可以創建一個部分填充的輸入字段,但填充的部分是不可編輯的,而且還沒有被提交? 它可能看起來很混亂,所以一個簡單的例子。
我有一個字段,看起來像url。我希望用戶來指定,讓我們說,他的名字,所以該領域應該是這樣的:預填充,部分不可編輯的輸入字段與簡單的形式?

www.something.com/users/輸入

用戶不應該能夠編輯大膽的部分,只有「輸入」部分。另外,我只想提交輸入內容,而不是整個網址。所以基本上我需要的是這樣的

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

回答

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

+0

這有幫助。 但我把所有內容都包含在<%= f.input:user do%>代碼<% end %>中,並將 f.input:url 改爲 f.input_field:url。 否則prepend部分是輸入字段的兩倍。 – ZebThan

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] %> 
+0

這裏唯一的問題是在輸入字段中顯示靜態url。 –

+0

是的,我忘了那個tbh。也許我和你的回答會幫助他解決它 –

相關問題