主页

before_action的使用

2023-09-12 02:52PM

before_action 相当于一个过滤器(表示你的代码刚进入到某个action的时候,就会运行这个东西)

 before_action :get_by_id, only: [:show, :edit, :update, :destroy]

可以使用它来减少重复的代码

eg: 在 books_controller.rb 文件中的第二行增加

 before_action :get_by_id

第一个参数 :get_by_id 是方法名

定义一个private 方法

private

# 方法的内容就是根据id查询到这个 book

def get_by_id

  @book = Book.find.params[:id]

end

可以把 books_controller.rb 文件中的 action 里面的@book= Book.find params[:id]的这一行内容删掉

然后在 before__action 这一行内容中增加

# 我这里show, edit, update, destroy里面都有这一行的内容,所以都添加在only: []里面

 before_action :get_by_id, only: [:show, :edit, :update, :destroy]

 这样就可以了,before_action可以为我们减少大量重复的代码

返回>>

登录

请登录后再发表评论。

评论列表:

目前还没有人发表评论