我目前正在使用“使用Rails 4进行敏捷Web开发”教科书,试图学习一些东西(如果可能的话)。
通过构建一个非常简单的在线书店并使用Rails服务器对其进行测试,我大约有三分之一。
我打开了服务器并尝试访问我的应用程序但是store_controller.rb文件存在问题。
网页上写着:syntax error, unexpected end-of-input, expecting keyword_end
该文件的代码如下:
class StoreController < ApplicationController
def index
@products = Product.order(:title)
end
end
感谢您的时间和想法!
Index.html.erb
<% if notice %>
<p id="notice"><%= notice %></p>
<% end %>
<h1> Your Pragmatic Catalog</h1>
<% cache ['store', Product.latest] do %>
<% @products.each do |product| %>
<% cache ['entry', product] do %>
<div class="entry">
<%=image_tag(product.image_url) %>
<h3><%= product.title %></h3>
<%= sanitize(product.description) %>
<div class="price_line">
<span class="price"><%= number_to_currency(product.price) %></span>
<%= button_to 'Add to Cart', line_items_path(product_id: product) %>
</div>
</div>
<% end %>
<% end %>
<% end %>
答案 0 :(得分:0)
好的伙计们,
我发现了问题。这让我发疯了。
我搞砸了store_controller.rb文件并继续重新加载浏览器。然后错误将我指向其他文件以进行整理。
简而言之,我被指向Models文件夹中的product.rb文件。我添加了一个额外的结束,这一切都很好,从那里我很高兴宣布。
如果您有兴趣,可以使用以下代码:
class Product < ActiveRecord::Base
has_many :line_items
before_destroy :ensure_not_referenced_by_any_line_item
validates :title, :description, :image_url, presence: true
validates :price, numericality: {greater_than_or_equal_to: 0.01}
validates :title, uniqueness: true
validates :image_url, allow_blank: true, format: {
with: %r{\.(gif|jpg|png) \Z}i,
message: 'must be a URL for GIF, JPG or PNG image.'
}
def self.latest
Product.order(:updated_at).last
private
# ensure that there are no line items referencing this product
def ensure_not_referenced_by_any_line_item
if line_items.empty
return true
else
errors.add(:base, 'Line Items present')
return false
end
end
end
end