与Paperclip建立了良好关系

时间:2012-01-23 08:48:22

标签: ruby-on-rails paperclip has-one

假设我有2个模型,如新闻,客户端。 使用paperclip的默认选项,我需要为每个选项创建其他列,例如(photo_file_name .....) 但我只是想创建不同的模型,让我们说资产

asset.rb

  belongs_to :client
  has_attached_file :photo, :styles => {:small => "300x300>"}

client.rb

  has_one :asset, :dependent => :destroy
  accepts_nested_attributes_for :asset

clients_controller.rb

  def new
    @client = Client.new
    @client.build_asset
  end

_form.html.erb

  <%= form_for @client, :html => {:multipart => true} do |f| %>
  <%= f.fields_for :asset do |asset| %>
      <%= asset.label :photo %><br/>
      <%= asset.file_field :photo %>
  <% end %>
  <% end %>

目前这是有效的,但如何在展示视图中显示它?我这样做:

  <%= image_tag @client.url(:small) %>

我知道这不正确,因为@ client.asset没有url列, 怎么做 ?

1 个答案:

答案 0 :(得分:1)

就像Mikhail Nikalyukin说的那样,你应该打电话给

<%= image_tag @client.photo.url(:small) %>

而不是

<%= image_tag @client.url(:small) %>