我有一个简单的表单来创建使用@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)时,表单假定它是更新并使用任务名称填充文本字段。
我需要清除文本字段,以便只显示“添加任务”占位符。我已经尝试了许多不同的方法,没有运气,我希望有人可以提供帮助。
答案 0 :(得分:2)
所有Rails表单都是这样的 - 它们使用存储在变量中的值预先填充字段。如果您刚刚完成@new_task = Task.new
,则所有值均为nil
,因此所有字段均为空。
如果您已完成@new_task = Task.new(:title => @task.title)
,那么title
属性的值为(@task.title
),那么以表格形式显示。
如果您不想要显示任何内容,请不要预先设置值。