首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >自动提交表单-嵌套路由

自动提交表单-嵌套路由
EN

Stack Overflow用户
提问于 2019-07-28 13:01:06
回答 1查看 17关注 0票数 0

我正在创建一个网站,用户candidate可以提交一个职位空缺申请。

candidate可以看到所有的空缺:http://localhost:3000/positions

我希望candidate能够点击“申请”并直接提交申请。

关于现在的情况,如果他单击“应用程序”,他将转到“转到这里:http://localhost:3000/positions/4/candidatures/new”。

此表格如下:

代码语言:javascript
复制
  <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已经包含了我希望用户发送的所有参数,实际上,是:

代码语言:javascript
复制
  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
  end

I希望用户一旦在http://localhost:3000/positions中单击"apply“就会提交http://localhost:3000/positions/4/candidatures/new的表单。

我尝试使用javascript和ajax:candidature/new.html.erb

代码语言:javascript
复制
<script>
$(document).ready(function(){
    $.ajax({
  url: $('#my_candidature_form').attr('action'),
  success: function(data){
    alert(data.ip);
  },
  error: function(){
    alert('failure');
  }
});
});
</script>

代码语言:javascript
复制
<script>
  $(document).ready(function(){
$(#my_candidature_form).submit();
});
</script>

但不起作用。

EN

回答 1

Stack Overflow用户

发布于 2019-07-28 13:23:09

好的,在/positions中定义这个表单(对于每一份工作,我认为我们需要不同的形式.在这里,我为单个任务提供指导,我希望您能够为所有的作业定义这一点:)

代码语言:javascript
复制
<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按钮(同样,对于每个任务,我们需要不同的应用按钮):

代码语言:javascript
复制
<%= link_to 'Apply', "#", class: 'btn-apply-now form-1' %>

并编写一些脚本来设置该apply按钮的事件,如下所示:

代码语言:javascript
复制
<script>
$(document).ready(function(){
  $('.btn-apply-now.form-1').on('click', function () {
    $(#my_candidature_form_1).submit();
  });
});
</script>

就这样!现在,我希望它能奏效:)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57241152

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档