2012-10-10 270 views
4

我试图在单击链接时预先填充表单中的字符串字段。我已经试过:从链接预填充表单字段

$<%= link_to "New product", new_product_path(:product_name => "foo") %> 

$<%= link_to "New product", new_product_path(:name => "foo") %> 

两人都没有工作。任何人有任何想法?

+0

这是否的link_to传递PARAMS [:名字] = '富' 的网页? – MrYoshiji

+0

它做到了。我在URL中看到它。 –

+0

好吧,所以阿马尔的解决方案必须工作或你;) – MrYoshiji

回答

11

试试这个, <%= f.text_field :name,:value=>(@product.new_record? ? params[:name] : @product.name)%> 或在新的动作

def new 
@product = Product.new(:name=>params[:name]) 
end 
<%= f.text_field :name %> 
+0

我只希望在单击特定链接时预填充字段,而不是每当创建新产品时都预填充字段。 –

+0

使用第一种方法,'<%= f.text_field:name,:value => params [:name]%>' – Amar

+0

但是,如果我在表单中定义它,每次都会显示该值。我只希望在用户通过特定链接访问表单时显示值。如何从<%= link_to%>定义该值? –

-1

您试图填充当前页面或目标页面的字段?

如果它在当前页面上,则需要一些javascript来完成该操作,如果它在 目标页面上,则应该根据传递的参数在您的操作中设置默认值。