在Rails 3中,部分表单需要根据是新建(New)还是编辑(Edit)来使用不同的链接。这通常用于在表单提交时,根据对象是新建还是已存在来决定是创建新的资源还是更新已有的资源。
为了实现这个功能,可以使用Rails的表单助手方法和路由帮助方法来生成不同的链接。具体步骤如下:
params[:id]
参数来判断是否存在ID,如果存在则表示编辑,否则表示新建。form_for
方法来生成表单,同时使用url
选项来指定表单提交的URL。
<% if @object.new_record? %>
<%= form_for @object, url: create_object_path do |f| %>
<!-- 表单字段 -->
<% end %>
<% else %>
<%= form_for @object, url: update_object_path do |f| %>
<!-- 表单字段 -->
<% end %>
<% end %>
在上面的代码中,@object
表示要创建或编辑的对象,create_object_path
和update_object_path
分别表示创建和更新的路由路径。
resources
方法来定义资源的路由。
resources :objects, only: :create, :update
上面的代码定义了objects
资源的创建和更新路由,只包含create
和update
动作。
这样,当访问新建表单时,将使用create_object_path
作为表单提交的URL;当访问编辑表单时,将使用update_object_path
作为表单提交的URL。根据不同的链接,可以在控制器中处理不同的逻辑,实现新建和编辑的功能。
推荐的腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云