在controller中@project的定义不同
def edit
@project = Project.find(params[:id])
end
def new
@project = Project.new
end
@project = Project.find(params[:id])
end
def new
@project = Project.new
end
edit的时候 @project.id 为 true ,相应的action也就不一样,还会多生成一个input来标识put,因为此时是 update
<form action="/projects/4" class="edit_project" id="edit_project_4" method="post">
<input name="_method" type="hidden" value="put" />
new的时候 @project.id 为 false
<form action="/projects" class="new_project" id="new_project" method="post">
所以可以通过@project.id来判断此时的@project是new还是edit
或者直接使用new_record?()来判断