如何通过控制器功能中的链接传递值

时间:2013-10-11 06:55:35

标签: ruby-on-rails

如何通过控制器功能中的链接传递值  我想在链接中传递rc值以下,以便路由收集它并发送到控制器。我是rails中的新bies.Anyone请帮我解决问题。

my html.erb .which通过jQuery函数从文本框中收集值。

        <script type="text/javascript">
        var rc=jQuery("#commonid").val();
        </script>

        <div ><%=link_to "Alert By Region",alerts/filter_alert %></div>

my routes.rb

与链接匹配并发送到控制器的文件

match 'alerts/filter_alert', :controller => 'alerts', :action => 'filter_alert'

我的控制器

          def filter_alert(x)
            @message=x
            @title = @title + ' - Alerts'
            render :site_alerts
          end

1 个答案:

答案 0 :(得分:1)

Javascript的东西属于Javascript。您需要在访问者点击此链接时动态操纵此值。

在Rails的控制器端,您无法对该方法进行硬编码。您需要使用查询字符串中的参数,因为您不知道输入是什么。

# Views
link_to 'Alert By Region', 'alerts/filter_alert', id: 'alert-link'

# Javascript   
$('#alert-link').on('click', function() {
   var rc = $("#commonid").val();
   if rc {
     this.attr['href'] += '?rc='+ encodeURI(rc);
     return true;
   } else {
     alert 'input is blank!';
     return false;
   }
});

# Controller
def filter_alert
  rc = params[:rc]
  # Then process based on this
end