如何从Rails中的其他控制器从对象创建

时间:2018-07-27 02:31:59

标签: ruby-on-rails ruby form-for

我正在尝试创建一个工作板,用户可以通过填写工作申请表来登录,浏览工作并申请工作。

这是我的设计。

user.rb

has_many :job_applications

job.rb

has_many :job_applications

job_application.rb

belongs_to :user
belongs_to :job

模式

create_table "job_applications"......|
    t.bigint "user_id"
    t.bigint "job_id"
.........

我的job_controller具有indexshow方法。

show.html.erb作业页面上,有一个为此作业申请按钮,该按钮链接到自作业资源成员路由派生的自定义应用方法。

<%=link_to'Apply For This Job', apply_job_path(@job),class:"btn btn-success btn-block"%>

这是工作路线

resources: jobs do
  member do
    get :apply
  end
end

所以,我希望在apply.html.erb页面上有一个表单。将使用user.id和job.id为当前用户创建一个Job Application对象

这是我的问题。

  1. 我不知道我的设计是否正确

  2. 由于该方法位于不同的控制器上,因此我如何创建一个表单来为当前用户保存一个新应用程序(包括job.id)到apply.html.erb下的数据库中

    < / li>

我需要帮助来填充create中的job_applications_controller方法

class JobApplicationsController < ApplicationController

  before_action :authenticate_user!


  def create

    ## coded needed
  end

并在apply.html.erb页上实现表格

希望您能理解

谢谢!

0 个答案:

没有答案