如何在不显示字符串的情况下向字段输入添加字符串?

时间:2018-05-30 02:36:01

标签: jquery ruby-on-rails

我正在Rails中构建一个应用程序,我有一个用户可以输入其年龄的表单。当他们提交20时,我想将其作为20 years old传递到下一页。

<%= form_tag age_path, method: "POST", id: 'age', remote: true do %>
  <%= text_field_tag 'age-question', nil %>
  <%= submit_tag "Submit", id:"submit-age" %>
<% end %>

我添加了这个位并且它有效,但是在它提交之前它会添加到输入字段years old,我不想向用户显示。

$('#age').submit(function() {
  var txt = $('#age-question');
  txt.val(txt.val() + " years old");

});

有没有办法实现这个目标?

1 个答案:

答案 0 :(得分:0)

表单使用params将数据发送到Rails。因此,您可以在控制器中实现您想要做的事情。

例如,如果您的表单正在提交ages_controller.rb并假设create方法正在处理输入,那么您可以在create方法中执行以下操作。

def create    
  params[:age][:age_question] = (params[:age][:age_question] + " years old") if params[:age][:age-question]
  # some other code
end

另一种方法是在模型中使用callbacks。您可以在对象生命周期的某个特定点执行某些操作。