我正在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");
});
有没有办法实现这个目标?
答案 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。您可以在对象生命周期的某个特定点执行某些操作。