2014-10-19 15 views
9

Tôi có một số hình ảnh trong thư mục công cộng, tôi nhận được url /public/link/to/image.jpg trong bộ điều khiển của mình. Tôi muốn hiển thị nó trong quan điểm của tôi, vì vậy tôi đã chuyển url tới khung nhìn.Hiển thị hình ảnh tĩnh trong thư mục công cộng (đường ray 4)

Nhưng làm cách nào tôi có thể hiển thị nó trên trang web?

Tôi đã tìm kiếm qua bài đăng, hầu hết trong số chúng có liên quan đến ảnh được lưu trữ trong thư mục nội dung, mà bạn có thể truy xuất được theo số <%= image_tag image-url (filename) %>.

Vậy làm cách nào tôi có thể hiển thị hình ảnh trong thư mục công cộng trong chế độ xem?

Trả lời

16

tôi chỉ thử nghiệm điều này trong một trong những ứng dụng của tôi, thêm một hình ảnh vào thư mục công cộng, và đã có thể làm cho nó theo quan điểm bằng cách sử dụng:

<img src="/your_image_file_name.png">

Tôi chưa bao giờ làm được điều đó thông qua các thư mục công cộng trước, nhưng nếu tôi đã đoán tôi muốn nói rằng bạn không cần "/ công cộng" một phần của đường dẫn tập tin.

Nếu tôi hiểu câu hỏi, điều đó nên thực hiện - hy vọng sẽ hữu ích.

+0

tình hình của tôi là một chút phức tạp hơn và tôi cần phải sử dụng IMAGE_TAG Rails thay so với thẻ HTML thông thường trong ứng dụng của tôi, nhưng cũng xóa phần "/ công khai" của đường dẫn tệp cho work_tag. – Taylor714

4

Bạn cũng có thể sử dụng Rails chiều qua <%= image_tag("/path/to/file.jpg") %>

Vì lý do an ninh, image_tag chỉ có thể nhìn vào bên trong /public, vì vậy bạn không cần phải chỉ định /public trong đường dẫn - nó sẽ được tự động thêm vào.

Ghi chú - luôn luôn cố gắng để lưu trữ hình ảnh trong thư mục con trong /public vì nó (IMAGE_TAG) sẽ không hoạt động nếu bạn bỏ qua /public và chỉ cần vượt qua tên tập tin hình ảnh để image_tag, như <% = IMAGE_TAG ("filename.jpg") %> < - trong trường hợp này, nó sẽ tìm kiếm thư mục /assets/images.

Giải pháp trong hành động:

  1. enter image description here

  2. enter image description here

3

Bạn có thể sử dụng:

<%= image_tag('/link/to/image.jpg') %> 

nếu hình ảnh của bạn là trong public dir, và liên kết/to/subdirs

Nếu đó là trong thư mục gốc thư mục công cộng:

<%= image_tag('/image.jpg') %> 
Các vấn đề liên quan