Tôi tự hỏi nếu viết các hàm như thế này được coi là dạng tốt hay xấu.Trả lại thông báo đúng hoặc lỗi trong Ruby
def test(x)
if x == 1
return true
else
return "Error: x is not equal to one."
end
end
Và sau đó sử dụng nó, chúng ta làm một cái gì đó như thế này:
result = test(1)
if result != true
puts result
end
result = test(2)
if result != true
puts result
end
nào chỉ hiển thị thông báo lỗi cho các cuộc gọi thứ hai để kiểm tra. Tôi đang xem xét làm điều này bởi vì trong một dự án đường ray tôi đang làm việc bên trong mã điều khiển của mình, tôi thực hiện các cuộc gọi đến các phương thức của mô hình và nếu có điều gì sai, tôi muốn mô hình trả về thông báo lỗi cho bộ điều khiển và bộ điều khiển nhận thông báo lỗi đó và đặt nó trong flash và chuyển hướng. Kinda như thế này
def create
@item = Item.new(params[:item])
if [email protected]?
result = @item.save_image(params[:attachment][:file])
if result != true
flash[:notice] = result
redirect_to(new_item_url) and return
end
#and so on...
Bằng cách đó tôi không xây dựng các thông báo lỗi trong bộ điều khiển, chỉ đơn thuần là đi qua chúng cùng, bởi vì tôi thực sự không muốn điều khiển được quan tâm với những gì các phương pháp save_image chính nó là chỉ giúp hay không nó hoạt động.
Điều đó có ý nghĩa với tôi, nhưng tôi tò mò muốn biết liệu đây có phải là cách viết hay hay hay. Hãy nhớ rằng tôi yêu cầu điều này theo nghĩa chung nhất liên quan đến ruby, nó chỉ xảy ra rằng tôi đang làm điều này trong một dự án đường ray, logic thực sự của bộ điều khiển thực sự không phải là mối quan tâm của tôi.
của Ruby thường sử dụng 2 không gian để thụt, không 4. –