Ruby on rails 3 在rails 3中连接表

Ruby on rails 3 在rails 3中连接表,ruby-on-rails-3,Ruby On Rails 3,嘿,我是rails的新手,非常感谢您的帮助 每个用户都有一个显示其所有事件的配置文件页面。每个事件都有许多资产(图像)。每个事件都有自己的事件页面。我正在努力解决的是如何在用户配置文件页面上显示事件(如果存在)并进行加入 在我的profile controller中,我有:@events=User.joins(:events)来获取事件,但我需要钻取资产表以获取相关的映像(现在我只想获取该事件的任何映像,稍后我将添加一个“主图片”标志) 这是我的模型 class Asset < Activ

嘿,我是rails的新手,非常感谢您的帮助

每个用户都有一个显示其所有事件的配置文件页面。每个事件都有许多资产(图像)。每个事件都有自己的事件页面。我正在努力解决的是如何在用户配置文件页面上显示事件(如果存在)并进行加入

在我的profile controller中,我有:@events=User.joins(:events)来获取事件,但我需要钻取资产表以获取相关的映像(现在我只想获取该事件的任何映像,稍后我将添加一个“主图片”标志)

这是我的模型

class Asset < ActiveRecord::Base
belongs_to :event
has_attached_file :image,
:styles => {
  :thumb=> "100x100#",
  :small  => "300x300>",
  :large => "600x600>"
    },
  :storage => :s3,
  :s3_credentials => "#{RAILS_ROOT}/config/s3.yml",
  :path => ":attachment/:id/:style.:extension",
  :bucket => 'wpt-assets'
end

class Event < ActiveRecord::Base
attr_accessible :name, :budget, :client, :date, :description, :venue, :attendees,  
:assets_attributes
belongs_to :user
has_many :assets#, :dependent => destroy
accepts_nested_attributes_for :assets
end

class User < ActiveRecord::Base
rolify
devise :database_authenticatable, :registerable,
     :recoverable, :rememberable, :trackable, :validatable

# Setup accessible (or protected) attributes for your model
attr_accessible :role_ids, :as => :admin
attr_accessible :username, :email, :password, :password_confirmation,  
:remember_me,:avatar, :bio, :title, :company,:facebook,:twitter,:pinterest,:linkedin
validates_presence_of :username
validates_uniqueness_of :username, :email, :case_sensitive => false
has_many :events
has_attached_file :avatar, 
:styles => { 
  :medium => "100x100>", 
  :thumb => "24x24>" }

  def to_param
    username
  end
end
class资产{
:thumb=>“100x100#”,
:small=>“300x300>”,
:大=>“600x600>”
},
:storage=>:s3,
:s3_credentials=>“#{RAILS_ROOT}/config/s3.yml”,
:path=>“:attachment/:id/:style.:extension”,
:bucket=>“wpt资产”
结束
类事件销毁
接受:资源的\u嵌套\u属性\u
结束
类用户:admin
属性可访问:用户名、电子邮件、密码、密码确认、,
:记住我,:阿凡达,:生物,:标题,:公司,:facebook,:twitter,:pinterest,:linkedin
验证是否存在:用户名
验证以下项的唯一性:用户名,:电子邮件,:区分大小写=>false
你参加过很多活动吗
已经附上了文件:阿凡达,
:styles=>{
:medium=>“100x100>”,
:thumb=>“24x24>”}
def至_参数
用户名
结束
结束

要获取
用户的
事件
的第一个查询可以写成

@events = user.events
类似地,您可以使用
Event.Assets
获取
事件的所有
资产


这些文档对此进行了更详细的说明,但通常不必使用
join
方法,除非您正在进行更高级的操作。

这很有意义,而且很有效。现在我试图显示与每个事件关联的一个图像,如下所示:path是资产表中包含图像路径的字段。