我正在创建一个网站,用户candidate可以提交一个职位空缺申请。
candidate可以看到所有的空缺:http://localhost:3000/positions

我希望candidate能够点击“申请”并直接提交申请。
关于现在的情况,如果他单击“应用程序”,他将转到“转到这里:http://localhost:3000/positions/4/candidatures/new”。
此表格如下:
<div class="row">
<div class="mt-5 offset-2 col-md-8">
</div>
<div id="my_candidature_form" class="my_candidature_form mt-3 offset-2 col-md-8">
<%= simple_form_for [@position, @candidature] do |f| %>
<%= f.submit "Submit ", class: "btn btn-primary" %>
<% end %>
</div>它的candidatures_controller.rb已经包含了我希望用户发送的所有参数,实际上,是:
def new
@position = Position.find(params[:position_id])
@candidature = Candidature.new
end
def create
@position = Position.find(params[:position_id])
@candidature = Candidature.new
@candidature.candidate = current_candidate
@candidature.position = @position
@candidature.interviewer = @position.interviewer
if @candidature.save
redirect_to position_path(@position)
flash[:success] = "You applied"
else
redirect_to position_path(@position)
flash[:alert] = "Something went wrong, try again"
end
raise
endI希望用户一旦在http://localhost:3000/positions中单击"apply“就会提交http://localhost:3000/positions/4/candidatures/new的表单。
我尝试使用javascript和ajax:candidature/new.html.erb
<script>
$(document).ready(function(){
$.ajax({
url: $('#my_candidature_form').attr('action'),
success: function(data){
alert(data.ip);
},
error: function(){
alert('failure');
}
});
});
</script>或
<script>
$(document).ready(function(){
$(#my_candidature_form).submit();
});
</script>但不起作用。
发布于 2019-07-28 13:23:09
好的,在/positions中定义这个表单(对于每一份工作,我认为我们需要不同的形式.在这里,我为单个任务提供指导,我希望您能够为所有的作业定义这一点:)
<div class="row">
<div class="mt-5 offset-2 col-md-8">
<div id="my_candidature_form" class="my_candidature_form_1 mt-3 offset-2 col-md-8">
<%= simple_form_for [@position, @candidature] do |f| %>
<% end %>
</div>
</div>
</div>是的,没有f.submit。
然后像这样定义apply按钮(同样,对于每个任务,我们需要不同的应用按钮):
<%= link_to 'Apply', "#", class: 'btn-apply-now form-1' %>并编写一些脚本来设置该apply按钮的事件,如下所示:
<script>
$(document).ready(function(){
$('.btn-apply-now.form-1').on('click', function () {
$(#my_candidature_form_1).submit();
});
});
</script>就这样!现在,我希望它能奏效:)
https://stackoverflow.com/questions/57241152
复制相似问题