我正在尝试从Paperclip插值系统中的另一个表中检索字段。
到目前为止,当我使用现有的参考号如3
时,它正在工作,但是当我尝试使用container_id
引用字段时,它将无效,即使它保存在数据库中
Rails显示此错误:
undefined local variable or method `container_id' for Paperclip::Interpolations:Module
表格
<%= form_for @upload, :remote => true, :authenticity_token => true do |f| %>
<p>
<%= f.label :file %><br />
<%= f.file_field :file %>
<%= f.hidden_field :container_id, value: @page.container.id %>
</p>
<p><%= f.submit "submit"%></p>
<% end %>
模型
Paperclip.interpolates('container') do |attachment, style|
attachment.instance.get_container(container_id).to_s
end
def get_container(container_id)
return Container.find(container_id).url
end
有没有办法查询另一个表并使用Paperclip插值字段?
答案 0 :(得分:0)
这是因为container_id不在你正在使用的方法范围内(插值)
您有权访问的是attachment.instance。
如果@upload是一个模型,我建议你将container_id添加为一列,然后你可以这样做:
Paperclip.interpolates('container') do |attachment, style|
attachment.instance.container.url.to_s
end
我不知道是不是因为您需要提供更多信息,例如所涉及的模型和关联。像Container类
希望有所帮助