2014-04-01 94 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 %> 
    ...