2015-12-19 46 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