1. 在Params Permit中增加新添加的列
在Rails服务器端,需要在params permit白名单中将新添加的列加入进去,否则新增加的列无法被赋值到数据库字段。通过在相应的 controller 中修改对应的 permit 参数即可,例如:
# ruby
def book_paramsparams.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 < ApplicationControllerdef new_pageenddef edit_pageenddef show_pageend
end
这样在 corresponding views 就会是:
# ruby
new_page.html.erb
edit_page.html.erb
show_page.html.
这些视图文件都与控制器中的相应方法进行了一对一的映射。