Ruby on rails 将文本\字段\标记的值传递给Rails中的控制器
我有一个文本\字段\标记,我想将其值传递给控制器Ruby on rails 将文本\字段\标记的值传递给Rails中的控制器,ruby-on-rails,model-view-controller,Ruby On Rails,Model View Controller,我有一个文本\字段\标记,我想将其值传递给控制器 <%= text_field_tag 'amount', 'Enter amount' %> 我已经有了一个link_to标记,它传递了其他参数,我还想把这个文本框的值传递给我的控制器动作 <%= link_to "Do it", do_it_path(id: some.id, detail: card.summary) %> 有谁能提出一些可以实现这一目标的方法吗?我希望避免使用表单,因为它只是一个字段,我希
<%= text_field_tag 'amount', 'Enter amount' %>
我已经有了一个link_to标记,它传递了其他参数,我还想把这个文本框的值传递给我的控制器动作
<%= link_to "Do it", do_it_path(id: some.id, detail: card.summary) %>
有谁能提出一些可以实现这一目标的方法吗?我希望避免使用表单,因为它只是一个字段,我希望保持简单。因为文本字段标记输入是在加载DOM之后进行的,所以您可能希望使用JavaScript将文本字段标记的值附加到链接单击事件。下面使用jQuery:
<%= text_field_tag "amount", "Enter amount", class: "amount_field" %>
<%= link_to "Do it", do_it_path(id: some.id, detail: card.summary), class: "do_it_link" %>
<script>
$(".do_it_link").click(function() {
$(this).attr("href", function() {
return this.href + "&amount=" + $('.amount_field').val();
});
});
</script>
$(“.do\u it\u link”)。单击(函数(){
$(this.attr(“href”,function()){
返回this.href+“&amount=“+$('.amount_字段').val();
});
});
但是你真的应该使用一个表单。它更简单、更安全
<%= form_for @something do |f| %>
<%= f.text_field :amount, placeholder: "Enter amount" %>
<%= f.hidden_field :detail, value: card.summary %>
<%= f.submit "Do it" %>
<% end %>
为什么不使用表单?表单是实际执行此操作的最简单方式!否则,我建议使用onclick
处理程序、伪表单和不必要的Javascript。使用表单,您的最终用户将对此表示感谢。我感谢您的建议。但我是从Rails起步的,所以我想知道有没有其他方法可以做到这一点。否决票也很受欢迎。从这两种方法中学到了很多。尽管我一直在寻找一种javascript方式,但最终还是使用了form_标记。