2012-01-23 2 views
1

позволяет сказать, что у меня есть 2 модели, такие как News, Clients. Использование опций PAPERCLIP по умолчанию, нужно создать для каждого из них дополнительные столбцы типа (photo_file_name .....) , но я просто хочу, чтобы создать другую модель, скажем Assethas_one отношения с Paperclip

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-адрес, , как это сделать?

+3

'@ client.asset.photo.url (: маленький)' –

ответ

1

Как сказал Михаил Nikalyukin, вы должны позвонить

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

вместо

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