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可以为我们减少大量重复的代码
登录
请登录后再发表评论。
评论列表:
目前还没有人发表评论