THẢO LUẬN

thg 7 3, 2018 8:00 SA

@bienhoang Theo như mình hiểu thì từ Rails 4 trở lên có setting việc đọc file trong thư mục public trước khi duyệt qua route. Với trường hợp của bạn thì mình có 2 phương án để xử lý:

  1. Đơn giản nhất là chuyển file public/index.html qua 1 controller static_page hoặc đại loại thế và viết routes cho file này.
  2. Hoặc bạn có thể loại bỏ thư mục public ra khỏi khai báo routes của Rails 5 và khai báo nó qua nginx hoặc apache.
  • Setting trong file config:
config.public_file_server.enabled = false
  • Setting trong nginx
location <PATTERN> {
  # dùng try_files hoặc root ở đây để trỏ đến public/index.html
}

Link tham khảo https://github.com/rails/rails/blob/5ed8aa9e02014d7840e746f407068315d6fc6b63/guides/source/rails_on_rack.md

+3
thg 7 3, 2018 8:00 SA

$$able->bigIncrements('id'); ?? lỗi rồi kìa?

0
thg 7 3, 2018 7:52 SA

@bienhoang Bạn deploy production chưa? Có khi đùng nginx dẫn root path về root path của mình được

0
thg 7 3, 2018 7:32 SA

@bs90 vâng. khó lắm bác ạ.

0
thg 7 3, 2018 7:27 SA

@bienhoang Cơ chế của Rails trong trường hợp đó bao giờ cũng tìm index.html trong public trước. giờ muốn sửa thì chỉ có đọc code rails xong overwrite đoạn đó thôi 😐

Còn nếu chỉ là muốn access được vào domain.com/index.html mà không nhất thiết index.html phải đặt trong public thì có cách 😃

0
thg 7 3, 2018 7:19 SA

@thangtd90 thực ra thì hiện tại khi request domain.com/ nó sẽ ra nôi dung file index.html, em muốn là khi vào domain.com/ thì request sẽ do rails xử lý như bác nói. ngặt cái có vẻ như rails nó vẫn chạy file index.html. Nếu xoá đi nó sẽ vào router như thường.

0
thg 7 3, 2018 7:18 SA

@bs90 haha. lý do này bản thân mình cũng không biết đâu. chỉ đơn giản là yêu cầu nó thế. và mình phải đi tìm giải pháp. có thể khả thi có thể không, mình thì dã thử nhiều cách và thấy không khả thi lắm, nên muốn hỏi thêm mọi người xem.

0
thg 7 3, 2018 7:14 SA

Tuy nhiên khi chạy mình không muốn chạy vào file này, mà code vẫn chạy vào root router như bình thường

cái này tức là khi request đến domain.com/index.html thì nó sẽ không ra nội dung file index.html, mà request sẽ do rails xử lý đúng không bạn 🤔

0
Avatar
đã bình luận cho bài viết
thg 7 3, 2018 7:13 SA

Bắn notification là 1 cách để có thể lắng nghe khi location thay đổi.

Bình thường LocationManager 1 khi đã start thì nó sẽ chạy cho đến khi bạn stop nó. vì nó được đóng gói trong singleton.

Vì thế cho nên trong bất kỳ ViewController nào bạn muốn biết location thay đổi hay ko thì hãy listen notification đó, mà ko cần khởi tạo CLLocationManager mới.

Mình quên mất biến currentLocation để lấy location khi cần thiết LocationManager.shared.currentLocation

var currentLocation: CLLocation?

func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {

    // get location
    if let latestLocation = locations.last {
        let howRecent = latestLocation.timestamp.timeIntervalSinceNow

        if abs(howRecent) <= accuracy {
            self.currentLocation = latestLocation
            self.getCurrentLocationCallback?(latestLocation)
            self.stopStandardUpdates()
        } else {
            self.startStandardUpdates()
        }
    } else {
        self.startStandardUpdates()
    }
}
0
thg 7 3, 2018 7:07 SA

Lý do đặc biệt là gì hả bạn? Biết đâu giải quyết lý do đó bằng giải pháp khác sẽ dễ dàng hơn thì sao 😄

0
thg 7 3, 2018 6:46 SA

Mình sẽ lưu ý cho bài viết sau nhé. Cảm ơn bạn. 😃)

0
Avatar
đã bình luận câu trả lời trong câu hỏi
thg 7 3, 2018 5:55 SA

@apkmonth

Ví dụ như bạn muốn down 10 cái ảnh với từ khóa ''Dog" thì bạn có thể dùng đoạn code này

from google_images_download import google_images_download

response = google_images_download.googleimagesdownload()
absolute_image_paths = response.download({'keywords':'Dog', 'limit':10})

Thông tin thêm về các arguments bạn có thể check ở đây

https://github.com/hardikvasa/google-images-download#arguments

+1
thg 7 3, 2018 5:01 SA

Làm sao để hiện được notification trong khi không mở browser lên vậy bạn.? Có thể cho mình keyword hoặc solution cho problem này được không? Tks b nhiều

0
Avatar
đã bình luận câu trả lời trong câu hỏi
thg 7 3, 2018 3:06 SA

Cảm ơn bạn nhé, m xem rồi nhưng vẫn chưa sử lý được, bạn có thể giúp mình tí được không

0

Ừa mình biết cái đó r mà. Nhưng axios thì không thấy có cái này. Mình thấy việc có then() sẽ giúp bạn dễ kiểm soát được flow hơn là config async cho request. Bởi config như thế mình nghĩ sẽ làm mất tính chất hay của ajax trừ khi bạn thực sự không còn cách nào khác và buộc p làm thế :-?

0
thg 7 3, 2018 2:46 SA

"Phát triển chức năng → Test → Release sản phẩm cho khách hàng" sản phẩm ở đây kiểu như là 1 chức năng thôi nhỉ bạn?

0

Ở jQuery thì chỉ cần async: false là được bạn ạ 😃

0

À, hehe. Theo mình tìm hiểu thì nó không có bạn ạ. Nếu bạn muốn thực hiện synchronous thì bạn có thể thực hiện ở ngay then(). hoặc sử dụng async/await (cách này không nên lắm vì đã có then() )

0

Hi, ý mình là phần chỉnh bật tắt việc bất đồng bộ ở đâu bạn ơi? jQuery thì có nhưng thằng này mình không thấy có.

0

Có thể mình chưa hiểu ý câu hỏi của bạn lắm. Nhưng Axios dùng promises nên đã bất đồng bộ r mà bạn :-ss

0
Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí