0

如何通过控制器函数中的链接传递值。
我想在链接中传递低于 rc 值,以便路由收集它并发送到控制器。我是 rails 的新手。任何人请帮我解决问题。

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

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

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

我的路线.rb

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

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

我的控制器

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

1 回答 1

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
于 2013-10-11T08:33:22.487 回答