我有一个东西模型:
class Thing < ActiveRecord::Base
belongs_to :user
has_attached_file :image, :styles => { :medium => '300x300>', :thumb => '100x100>' }
validates :image, presence: true
validates :description, presence: true
end
我还有一个用户模型:
class User < ActiveRecord::Base
# Include default devise modules. Others available are:
# :confirmable, :lockable, :timeoutable and :omniauthable
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable
has_many :things
validates :name, presence: true
validates :username, presence: true
validates :email, presence: true
end
我的UsersController看起来像这样:
class UsersController < ApplicationController
def show
@user = User.find_by_username(params[:username])
end
end
当我导航到localhost:3000 / users / Delacram,其中Delacram是用户名时,如何仅显示具有Delacram用户名的Things?
答案 0 :(得分:2)
鉴于你有@user
有许多things
:
@user.things
你可以循环:
@user.things.each do |thing|
= thing.description
...
答案 1 :(得分:1)
同样......在控制器中,您可以调用@things = @user.things
的实例。然后在您的视图中,您可以致电= render @things
。这将查看views/things/_thing.html.haml
,并将该文件中的任何内容放到页面上,用于@thing的每个实例。
Rails魔术......