在Rails中为link_to方法发送特定变量值

Zel*_*nka 4 ruby-on-rails link-to

有没有办法在Rails中为link_to方法发送特定的变量值?在我的情况下,当用户按下link_to按钮时,我希望变量@result为5而不是10.

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

def full
  @result = 10
end
Run Code Online (Sandbox Code Playgroud)

Sra*_*van 5

您需要使用link_to发送params,就是这样,它将在方法中可用.

<%= link_to t('meters'), full_report_path(:result => 5), class: 'btn btn-sm btn-success' %>
Run Code Online (Sandbox Code Playgroud)

在你的方法中,

def full
  if params[:result].present? 
    @result = params[:result]
  else 
    @result = 10
  end
end
Run Code Online (Sandbox Code Playgroud)

您可以尝试检查是否从链接调用该方法,方法是检查是否存在参数,如果存在则为5否则为10.

http://apidock.com/rails/ActionView/Helpers/UrlHelper/link_to你可以在这里找到它.