我刚刚生成了一个新的rails应用程序并在我的控制器中注意到了这个
private
# Use callbacks to share common setup or constraints between actions.
def set_post
@post = Post.find(params[:id])
end
# Never trust parameters from the scary internet, only allow the white list through.
def post_params
params[:post]
end
注意到set_post
允许在所有操作中访问Post.find
。现在还有强大的参数,这些都是post -params。
有人可以进一步解释这个吗?新set_post
的内容是什么?
答案 0 :(得分:0)
您必须在before_action
的顶部定义PostsController
。
before_action :set_post, only: [:show, :edit, :update, :destroy]
这意味着在set_post
操作之前调用show, edit, update, destroy
方法,以设置您正在执行操作的Post
记录。
这只是为了避免在每个操作中多次调用find
记录。