iT邦幫忙

2017 iT 邦幫忙鐵人賽
DAY 23
2
Modern Web

Ruby礦工的Rails地圖系列 第 23

避免重複render錯誤

  • 分享至 

  • xImage
  •  

這不算是新手錯,但是每個rails工程師都有可能犯上一回

def action
  @book = Book.find(params[:id])
  if @book.true_or_not?
    render action: "special_show"
  end
  render action: "regular_show"
end

當你有一段controller裡面的方法有類似上述的狀況
依照條件不同
會有不同render的去向
你就會看到這樣的錯誤提示:
Can only render or redirect once per action

修改的方法也很簡單
只要在第一個render後面加上and return就可以囉

def action
  @book = Book.find(params[:id])
  if @book.true_or_not?
    render action: "special_show" and return
  end
  render action: "regular_show"
end

參考出處
今天因為公司聚餐比較晚回家
所以篇幅就短短的啦


上一篇
淺談callback -- 物件生命週期的掛鉤
下一篇
Pair Programing
系列文
Ruby礦工的Rails地圖30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0
NiJia
iT邦新手 5 級 ‧ 2018-09-12 10:02:56

寫API最常出現的錯誤
學到 and return 了!

Bater iT邦新手 4 級 ‧ 2018-09-30 18:04:55 檢舉

很高興能夠幫助到你

我要留言

立即登入留言