更新: O.K.這很奇怪,在瀏覽器中,我可以訪問localhost:3000/assets/images/rails.png中的圖像,但是當我將這個路徑放到seeds.rb文件中,然後加載頁面時,它顯示它正在嘗試查找/assets/rails.png中的圖像,即它跳過圖像文件夾...任何想法?圖像時/在我的新的Rails應用程序顯示
難道軌道某處配置爲只考慮兩個文件夾?
我使用了一本書叫敏捷Web開發使用Rails來學習如何使用框架,但似乎有一些細微的差別。它爲rails 3.0和3.1提供代碼(我使用後者),但它並不總是按預期工作。到目前爲止,我們已經爲Products類創建了腳手架,並使用了seeds.rb將一些數據放入sqlite3數據庫中。每個「產品」的資產/圖像文件夾中都有圖像,但沒有顯示。 我在圖像路徑的seeds.rb文件中進行了實驗,但沒有奏效。
圖片所在的文件夾的應用程序/資產/圖像
我會告訴你下面的文件,所有這些都以某種方式處理圖像
1.app/views/products/_form。 html.erb 2.app/views/products/index.html.erb 3分貝/ seeds.rb
UPDATE:在日誌文件中,它說,沒有爲圖像的路由錯誤。
Started GET "/assets/wd4d.jpg" for 127.0.0.1 at Tue Sep 27 11:01:43 -0400 2011
Served asset /wd4d.jpg - 404 Not Found (3ms)
ActionController::RoutingError (No route matches [GET] "/assets/wd4d.jpg"):
Rendered /Library/Ruby/Gems/1.8/gems/actionpack-3.1.0/lib/action_dispatch/middleware/templates/rescues/routing_error.erb within rescues/layout (0.5ms)
Started GET "/images/ruby.jpg" for 127.0.0.1 at Tue Sep 27 11:01:43 -0400 2011
ActionController::RoutingError (No route matches [GET] "/images/ruby.jpg"):
應用/視圖/產品/ _form.html.erb
<%= form_for(@product) do |f| %>
<% if @product.errors.any? %>
<div id="error_explanation">
<h2><%= pluralize(@product.errors.count, "error") %> prohibited this product from being saved:</h2>
<ul>
<% @product.errors.full_messages.each do |msg| %>
<li><%= msg %></li>
<% end %>
</ul>
</div>
<% end %>
<div class="field">
<%= f.label :title %><br />
<%= f.text_field :title %>
</div>
<div class="field">
<%= f.label :description %><br />
<%= f.text_area :description, :rows => 6 %>
</div>
<div class="field">
<%= f.label :image_url %><br />
<%= f.text_field :image_url %>
</div>
<div class="field">
<%= f.label :price %><br />
<%= f.text_field :price %>
</div>
<div class="actions">
<%= f.submit %>
</div>
<% end %>
2.app/views/products/index.html.erb
<h1>Listing products</h1>
<table>
<% @products.each do |product| %>
<tr class="<%= cycle('list_line_odd', 'list_line_even') %>">
<td>
<%= image_tag(product.image_url, :class => 'list_image') %>
</td>
<td class="list_description">
<dl>
<dt><%= product.title %></dt>
<dd><%= truncate(strip_tags(product.description),
:truncate => 80) %></dd>
</dl>
</td>
<td class="list_actions">
<%= link_to 'Show', product %><br/>
<%= link_to 'Edit', edit_product_path(product) %><br/>
<%= link_to 'Destroy', product,
:confirm => 'Are you sure?',
:method => :delete %>
</td>
</tr>
<% end %>
</table>
<br />
<%= link_to 'New product', new_product_path %>
3.分貝/種子。 RB(注意這裏我用圖片的網址試驗)
Product.delete_all Product.create(:標題=>'網頁設計開發者, :描述=> %{
等等等等
} , :image_url =>'wd4d.jpg',
:price => 42.95)。 。 。
Product.create(:標題=> '編程紅寶石1.9', :描述=> %{
等等等等
。}, :IMAGE_URL => '/images/ruby.jpg', :價格=> 49.50)。 。 。
產品。創建(:標題=> '的Rails測試處方', :描述=> %{
等等等等
}, :IMAGE_URL => '/images/rtp.jpg', :價格=> 43.75)
找出圖像的URL,然後直接通過輸入到地址欄訪問圖像。這應該可以幫助您瞭解是否找不到圖像路徑。另請參閱日誌文件 - 它可能包含未顯示圖像的404。 – Zabba
o.k.這很奇怪,在瀏覽器中,我可以訪問localhost:3000/assets/images/rails.png中的圖像,但是當我將這個路徑放到seeds.rb文件中,然後加載頁面時,它顯示它正在嘗試查找/assets/rails.png中的圖像,即它跳過圖像文件夾...任何想法? – Leahcim