2012-12-19 28 views

回答

1

我認爲這將幫助你

模型

class Job < ActiveRecord::Base 
    attr_accessible :delete_flag #with other attributes 
    attr_accessor :delete_flag 
end 

*在你看來(_form)*

<%= form_for(@job) do |f| %> 
    #other code 
    <%= f.text_field :delete_flag%> 
    <div class="actions"> 
    <%= f.submit %> 
    <%= f.submit "Delete",{:class => "delete_button"} %> 
    </div> 
<% end %> 

的CoffeeScript

jQuery -> 
    $('#new_job').submit -> 
    #capture your delete button click 
    $('#job_delete_flag').val("1") 

在你的控制器,你會得到PARAMS爲:delete_flag,並從那裏你可以

Parameters: {"utf8"=>"✓", "authenticity_token"=>"5oWQU+w0jVCQlw8wLvCyKajbBSKpK2sv6RMkSGTE2H8=", "job"=>{"delete_flag"=>"1"}, "commit"=>"Delete"} 

HTH

+0

謝謝! <%= f.text_field:delete_flag%>這是幹什麼的?我以爲你會準備隱藏的領域或什麼 – HUSTEN

+0

是的,它應該是一個隱藏的領域,對不起我的壞:D – sameera207

+0

非常感謝! – HUSTEN

0

這是可能出現的,但請確保在刪除按鈕單擊它並沒有文件的形式提交行動

可能ü可能考慮使用:remote => true的刪除鏈接

,你可以檢查該記錄是否是新的或使用

現有
<Object>.new_record? 

例如:如果我有一個名爲工作模式

Job.first.new_record? #=> false 

Job.new.new_record? #=> true 

例如:像(未測試:d,只是爲了給ü的想法)

<%= form_for(@job) do |f| %> 
    #your form content 
    <%= f.submit %> 
    <%= (link_to 'Destroy', @job, :remote => true, method: :delete, data: { confirm: 'Are you sure?' }) unless @job.new_record? %> 
<% end %> 
+0

謝謝!其實我不想remote = true :(我想讓它提交樣式,因爲我有before_filter來檢查post是否由current_user和captcha_check擁有,然後刪除 – HUSTEN

+0

@HUSTEN,在這種情況下,我認爲您可能需要做更多工作,但可能的解決辦法是,設置一個刪除標誌並將數據發送到控制器的「更新」操作,然後從那裏你可以處理刪除標誌。在你的視圖中,有'編輯','刪除'按鈕,但兩個將提交更新動作 – sameera207

+0

ahhh,是的,我已經做了類似刪除紙夾附加文件的東西,所以我必須做這樣的事情?<%= f.check_box:image_delete,:label =>'刪除圖像' %>刪除圖像沒有選項只需要在表單中放置按鈕來銷燬動作?? – HUSTEN

相關問題