2010-04-02 30 views
8

Vì vậy, tôi có một máy chủ web tôi đã xây dựng sử dụng Sinatra, thịt mà đi như thế này:Erb với Sinatra trong ruby ​​

set :variable,"value" 
get '/' do 
    erb :index 
end 

Và, tất nhiên, các mẫu trong views/index.erb mà trông giống như sau:

<html> 
<!-- etc --> 
    <ul> 
    <% my_array.each do |thing| %> 
    <%="Something: #{thing}, variable from sinatra: #{settings.variable}"%> 
    <% end %> 
    </ul> 
</html> 

Nếu bạn thử chạy mã như thế này bạn sẽ nhận thấy rằng bạn không thể truy cập biến cài đặt của sinatra từ bên trong mẫu erb. Bất kỳ ý tưởng làm thế nào tôi có thể đạt được điều này trong khi vẫn giữ sự đơn giản của nó?

Cảm ơn trước!

+0

Tôi đã đặt câu hỏi này cho haml, có thể câu trả lời sẽ giúp bạn trong erb: http://stackoverflow.com/questions/2129387/how-do-i-get-an-array-of-check-boxes- in-haml – mmr

+0

Tôi đoán các cài đặt đó có sẵn trong bộ điều khiển không? Nếu bạn muốn chúng có sẵn trong giao diện, bạn phải vượt qua chúng. –

+1

Câu trả lời của tôi sai. Phương thức cài đặt sẽ khả dụng từ chế độ xem. Mã bạn đăng hoạt động tốt cho tôi. – mckeed

Trả lời

2

Tôi đang sử dụng phiên bản cũ của Sinatra - được cập nhật lên phiên bản 1.0 và hoạt động tốt :)

Cảm ơn mọi người!

0

Tôi đã có một vấn đề tương tự và độ phân giải là để đảm bảo tất cả những thứ set :x, "y" xảy ra trong khai báo lớp (các lớp con của tôi về Sinatra::Base) bên ngoài của phương pháp khởi tạo.

Các vấn đề liên quan