假设我有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列, 怎么做 ?
答案 0 :(得分:1)
就像Mikhail Nikalyukin说的那样,你应该打电话给
<%= image_tag @client.photo.url(:small) %>
而不是
<%= image_tag @client.url(:small) %>