我制作了一个照片共享应用程序,可让用户注册和发布照片。但所有这些图片最终都出现在主页上。相反,我希望人们选择不同的类别来发布他们的照片,具体取决于它的含义。因此,我决定使用按钮创建一个类别html页面,将您重定向到下面显示的类别。
所以我制作了html页面并添加了按钮,这就是我对下一步该做什么几乎无能为力的地方。如果有人能帮助我,那对我来说意义重大。提前谢谢。
答案 0 :(得分:2)
如果您想为单个category
分配一个photo
,则需要使用ActiveRecord Association -
#app/models/photo.rb
Class Photo < ActiveRecord::Base
belongs_to :category #-> needs category_id in users table
end
#app/models/category.rb
Class Category < ActiveRecord::Base
has_many :photos
end
架构:
photos
id | category_id | etc | created_at | updated_at
categories
id | name | created_at | updated_at
这将允许您这样做:
#config/routes.rb
root to: "categories#index"
resources :categories
#app/controllers/categories_controller.rb
def index
@categories = Category.all
end
def show
@category = Category.find(params[:id])
end
#app/views/categories/index.html.erb
<% for category in @categories do %>
<%= link_to category.name, category %>
<% end %>
#app/views/categories/show.html.erb
<% for photo in @category.photos do %>
<%= image_tag photo %>
<% end %>