主页

rails 增加表的列后,怎么把列增加在params permit,怎么修改新建编辑详情列表页面,怎么区分哪个文件是新建编辑详情列表。

2023-06-04 09:38AM

1. 在Params Permit中增加新添加的列

在Rails服务器端,需要在params permit白名单中将新添加的列加入进去,否则新增加的列无法被赋值到数据库字段。通过在相应的 controller 中修改对应的 permit 参数即可,例如:

# ruby
def book_params
  params.require(:book).permit(:title, :author, :isbn, :price, :published_at, :format)
end

2 .修改新建、编辑及详情列表视图

在Rails应用程序中,表单显示和输入使用 ERB 或 Haml等模板引擎创建的HTML页面。因此,要修改新建、编辑及详情列表界面,在 views 目录下找到与模型相关的文件进行修改。

一般来说,这些文件路径可能长这样:app/views/<controller_name>/new.html.erb, app/views/<controller_name>/edit.html.erb, app/views/<controller_name>/show.html. 分别对应新建、编辑及详情列表视图。

通过对这些模板文件进行修改,您可以更改 HTML 表单元素的行为和外观,并将其自定义为特定的需求。

3. 区分不同的文件

为了方便区分不同的视图,在通常情况下 Rails 框架会按照资源RESTful风格统一称呼提交参数的控制器方法名。

例如:

  • GET /products/index 显示所有产品的列表
  • GET /products/new 显示一个新的产品表单来创建产品
  • POST /products 创建一个新的产品
  • GET /products/:id 显示一个特定的产品
  • GET /products/:id/edit 显示一个特定的产品的编辑表单
  • PATCH/PUT /products/:id 更新一个特定的产品

这种方式使开发人员更容易地理解控制器方法的含义。如果需要区分文件,可以通过在资源名称后指定视图类型的方法来达到目的。

例如,在 my_controller.控制器中:

# ruby
class MyController < ApplicationController
  def new_page
  end

  def edit_page
  end

  def show_page
  end
end

这样在 corresponding views 就会是:

# ruby
new_page.html.erb
edit_page.html.erb
show_page.html.

这些视图文件都与控制器中的相应方法进行了一对一的映射。

返回>>

登录

请登录后再发表评论。

评论列表:

目前还没有人发表评论