1
카세트 모델의 아바타 업로드를 위해 Paperclip 플러그인을 설치했습니다. 어떤 이유로 파일 선택 버튼이 표시되고 파일을 선택할 수 있습니다. 그런 다음 kase 업데이트를 클릭하면 표시 페이지로 이동하지만 선택된 이미지 대신 missing.png가 표시됩니다.레일에서 작업 할 클립 얻기
kase.rb
class Kase < ActiveRecord::Base
def self.all_latest
find(:all, :order => 'created_at DESC', :limit => 5)
end
def self.search(search, page)
paginate :per_page => 5, :page => page,
:conditions => ['name like ?', "%#{search}%"],
:order => 'name'
end
# Paperclip
has_attached_file :avatar, :styles => { :medium => "300x300>", :thumb => "100x100>" }
end
kases_controller.rb
# GET /kases/new
# GET /kases/new.xml
def new
@kase = Kase.new
respond_to do |format|
format.html # new.html.erb
format.xml { render :xml => @kase }
end
end
new.html.erb
<% content_for :header do -%>
케이스 <% 끝 - % >
<% form_for(@kase) do |f| %>
<%= f.error_messages %>
<ul id="kases_new">
<li> <%= f.file_field :avatar %></li>
<li>Job Ref.<span><%= f.text_field :jobno %></span></li>
<li>Case Subject<span><%= f.text_field :casesubject %></span></li>
<li>Transport<span><%= f.text_field :transport %></span></li>
<li>Goods<span><%= f.text_field :goods %></span></li>
<li>Date Instructed<span><%= f.date_select :dateinstructed %></span></li>
<li>Case Status<span><%= f.select "kase_status", ['Active', 'On Hold', 'Archived'] %> </span></li>
<li>Client Company Name<span><%= f.text_field :clientcompanyname %></span></li>
<li>Client Company Address<span><%= f.text_field :clientcompanyaddress %></span></li>
<li>Client Company Fax<span><%= f.text_field :clientcompanyfax %></span></li>
<li>Case Handler Name<span><%= f.text_field :casehandlername %></span></li>
<li>Case Handler Tel<span><%= f.text_field :casehandlertel %></span></li>
<li>Case Handler Email<span><%= f.text_field :casehandleremail %></span></li>
<li>Claimant Name<span><%= f.text_field :claimantname %></span></li>
<li>Claimant Address<span><%= f.text_field :claimantaddress %></span></li>
<li>Claimant Contact<span><%= f.text_field :claimantcontact %></span></li>
<li>Claimant Tel<span><%= f.text_field :claimanttel %></span></li>
<li>Claimant Mob<span><%= f.text_field :claimantmob %></span></li>
<li>Claimant Email<span><%= f.text_field :claimantemail %></span></li>
<li>Claimant URL<span><%= f.text_field :claimanturl %></span></li>
<li>Comments<span><%= f.text_field :comments %></span></li>
</ul>
<div class="js_option">
<%= link_to_function "Show financial options.",
"Element.show('finance_showhide');"
%>
</div>
<div id="finance_showhide" style="display:none">
<ul id="kases_new_finance">
<li>Invoice Number<span><%= f.text_field :invoicenumber %></span></li>
<li>Net Amount<span><%= f.text_field :netamount %></span></li>
<li>VAT<span><%= f.text_field :vat %></span></li>
<li>Gross Amount<span><%= f.text_field :grossamount %></span></li>
<li>Date Closed<span><%= f.date_select :dateclosed %></span></li>
<li>Date Paid<span><%= f.date_select :datepaid %></span></li>
</ul>
<div class="js_option">
<%= link_to_function "I'm confused! Hide financial options.",
"Element.hide('finance_showhide');"
%>
</div>
</div>
<p>
<%= f.submit "Create" %>
</p>
<% end %>
<%= link_to 'Back', kases_path %>
나는
Kases 뷰의 new.html.erb에 추가했지만 선택 상자가 표시되지 않습니다. 나는 어떤 오류도 내지 않는다. http://pastie.org/931417 <- my new.html.erb code – dannymcc
글쎄, "<% form_for (@kase) do | f | %>"대신에 "<% form_for (@ kase), : html => {: multipart => true} do | f | %> "양식에 추가하지 마십시오! 참조 : http://gist.github.com/377321 – amrnt
또한 코드에서 sth가 잘못되었습니다! 코드의 <% content_for : sidebar do - %>에는 <% form_for ...에서 <% end %>까지의 모든 양식이 포함되어야합니다! – amrnt