2015-12-19 51 views
4

有沒有辦法在Rails中爲link_to方法發送特定變量值?在我的情況下,當用戶按下link_to按鈕時,我希望變量@result爲5而不是10。在Rails中發送link_to方法的特定變量值

<%= link_to t('meters'), full_report_path, class: 'btn btn-sm btn-success' %> 

def full 
    @result = 10 
end 

回答

5

你只需要發送帶有link_to的params,就是這樣,它將在方法中可用。

<%= link_to t('meters'), full_report_path(:result => 5), class: 'btn btn-sm btn-success' %> 
在你的方法


def full 
    if params[:result].present? 
    @result = params[:result] 
    else 
    @result = 10 
    end 
end 

您可以通過檢查是否該方法是從鏈接調用,通過檢查PARAMS嘗試都存在,如果存在其他5 10.這就是它。

http://apidock.com/rails/ActionView/Helpers/UrlHelper/link_to你可以在這裏找到它。

+0

如果它適合你,請接受我的答案。 – Sravan

+0

但是您刪除了其他情況下的結果應始終爲10.關於如何保持結果= 10的任何想法? – Zelenka

+0

我更新了我的答案,一旦檢查。 – Sravan