2014-04-01 98 views
0

我想讓我的窗體爲文本字段賦值。我有一個定義current_user的幫助文件。我希望text_field:name是current_user.name。窗體從變量賦值

<%= form_for @message, :url => contact_path do |form| %> 
<%= form.text_field :name = current_user.name %> 
<%= form.text_field :email = current_user.email %> 
... 

我已經嘗試#(名稱),則params,你如何分配該值?

+0

= f.name,值:current_user.name –

+0

因爲該值將是固定的(名字在這種情況下,)你爲什麼要指定一個文本領域。只是將當前用戶的名稱顯示爲靜態文本。那會是更好的方法。 –

+0

@ prasad.surase當然,你會如何做到這一點,讓表單獲得價值? – DDDD

回答

2

你應該做的是在你的控制器

例如:(見第3行)

def update 
    @message = Message.find(params[:id]) 
    @message.name = current_user.name ## HERE 
    @message.update_attributes 
end 

除非你的意思是你希望它是默認值時,頁面呈現的,在這種情況下:

<%= form.text_field :name, value: current_user.name %> 

,或者如果你喜歡

<%= form.text_field :name, placeholder: current_user.name %> 
1

添加value選項將text_field助手爲:

<%= form_for @message, :url => contact_path do |form| %> 
    <%= form.text_field :name, value: current_user.name %> 
    <%= form.text_field :email, value: current_user.email %> 
    ...