2013-05-02 101 views

回答

5

link_to只能鏈接到一個目標控制器動作。你需要定義一個路由,將呼叫路由到切換布爾值的方法。

例如,在你的控制器:

class ThingsController 
    def toggle_foo 
    @thing = Thing.find(params[:id]) 
    @thing.foo = [email protected] 
    @thing.save 
    end 
end 

那麼你會路線是:

resources :things, 
    :member => { :toggle_too => :put } 

然後你就可以鏈接到它:

link_to('Toggle', toggle_foo_thing_path(@thing), :method => :put) 

這對並不重要對這些調用使用GET方法,因爲有些瀏覽器會預先加載您網頁上的所有簡單鏈接,這會自動切換您在頁面上鍊接的所有內容。

+0

我有一個字段在數據庫中說'產品'是布爾值。在上面的代碼中,我如何切換?另外我期待有兩個按鈕同意和不同意。如果同意被擊中,那麼它是真實的,否則,否則。 – psharma 2013-05-02 20:13:48

+0

那麼,這是一個設置適當標籤的情況,可能有'if'來顯示兩種可能狀態之一。你要求的是非常具體的。希望你可以根據需要調整這個例子。 – tadman 2013-05-02 20:54:25

相關問題