rails区分view中的new和edit

本文探讨了在控制器中@project的定义不同及其对编辑和新建操作的影响,详细解析了@project.id如何区分两种操作,并展示了通过@project.id进行判断的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在controller中@project的定义不同

def edit
  @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?()来判断
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值