人生就是不斷學習,調整與更新持續前進。
回上一頁

Rails 以Model來設計CRUD

  在 Rails 應用中,把 CRUD(創建、讀取、更新、刪除)邏輯移至 Model 層有幾個重要的優點: 關注點分離 Controller 專注於處理 HTTP 請求和回應 Model 負責業務邏輯和數據操作 View 只需關注資料的展示 這種分離讓程式碼更容易維護和測試

 

Model:


	def self.create_post(params)
		post = new(params)

		if post.save
			post
		else
			false
		end
	end

	def self.update_post(post, params)
		if post.update(params)
			post
		else
			post  
		end
	end

Controller:


 def create
    new_post = MyBlog.create_post(params_post_permit)

    if new_post
      redirect_to backend_post_index_path
    else
      @my_blog = MyBlog.new(params_post_permit)
      render :new
    end
  end

  def update
    @post = MyBlog.update_post(@my_blog, params_post_permit)

    if @post.persisted? && [email protected]?
      redirect_to backend_post_index_path
    else
      render :edit
    end
  end

符合 Fat Model, Skinny Controller 原則 Controller 程式碼變得更簡潔 複雜的邏輯都放在 Model 中處理 更容易理解和維護 這樣的架構使得程式碼: 更容易維護 更容易測試 更容易擴展 更好的程式碼組織 降低 bug 出現的機會 當你的應用程式成長時,這種結構會讓後續的開發和維護工作變得更加輕鬆。