寻求构建电子商务rails应用程序的指导

时间:2012-04-04 01:06:01

标签: ruby-on-rails ruby ruby-on-rails-3 web-applications

我正在为RoR的个人项目寻找一些指导。我使用Michael Hartl的在线书籍学习了RoR,现在我正在为自己的教化建立一个不同的应用程序。

我的网络应用程序将类似于电子商务网站,除了销售产品,我将从餐馆销售菜单项目。我已经实现了存储基本信息(姓名,电子邮件等)的用户资源,但我正在寻找有关餐厅资源的指导。

餐厅的“节目”页面应显示餐厅名称,餐厅的段落描述,3-5张照片,一些描述性标签以及包含菜肴名称和价格的完整菜单。我该如何解决这个数据库问题?我正在考虑在这里创建三个模型,如下所示:

class Restaurant < ActiveRecord::Base
 has_many :dishes, :through => :menus
end

class Menu < ActiveRecord::Base
 belongs_to :restaurant
end

class Dish < ActiveRecord::Base
 belongs_to :menu
 has_one :restaurant, :through :menus
end

这是正确的方法吗?

我对此有两个担忧:

1)数据库中的字符串属性限制为255个字符,不足以存储餐馆描述。我该怎么办?我想让管理员用户轻松编辑描述。

2)我该如何处理图片?我做了一些搜索,有些人建议使用CarrierWave进行附件上传。有没有人有任何其他建议或替代方案?这些照片应该可以由管理员用户轻松更改,并且应该属于餐馆。

感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

是的,这是一个很好的方法。

要在数据库表字段中存储更多文本,请使用“text”,如下所示:

create_table :products do |t|
  t.string :name
  t.text :description
end

是的,请选择CarrierWave。一些替代方案:

  • 回形针(相当不错)
  • 滚动自己(不好意思,除非你喜欢学习)
  • 各种JavaScript / jQuery / AJAX上传助手(非常光滑但更复杂)
相关问题