Rails:如何清除编辑表单?

时间:2016-11-04 23:30:42

标签: ruby-on-rails forms

我有一个简单的表单来创建使用@new_task自定义的任务来始终创建任务。单独的表单用于更新它们。

#Form
<%= form_for([@project, @new_task]) do |f| %>
    <%= f.text_field :title, placeholder: 'Add a Task' %>
    <%= f.submit %>
 <% end %>

#TasksController
def show
  @projects = Project.all
  @project = Project.find(params[:project_id])
  @task = Task.find(params[:id])
  @new_task = Task.new(title: @task.title)
  @tasks = @project.tasks.all
end

问题是,当我在任务/ show(调用任务ID)时,表单假定它是更新并使用任务名称填充文本字段。

我需要清除文本字段,以便只显示“添加任务”占位符。我已经尝试了许多不同的方法,没有运气,我希望有人可以提供帮助。

1 个答案:

答案 0 :(得分:2)

所有Rails表单都是这样的 - 它们使用存储在变量中的值预先填充字段。如果您刚刚完成@new_task = Task.new,则所有值均为nil,因此所有字段均为空。

如果您已完成@new_task = Task.new(:title => @task.title),那么title属性的值为@task.title),那么以表格形式显示。

如果您不想要显示任何内容,请不要预先设置值。