首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何显示company_name而不是company_id

如何显示company_name而不是company_id
EN

Stack Overflow用户
提问于 2015-02-13 01:20:21
回答 2查看 198关注 0票数 1

我有一个存储jobdescription的模型,还有一个将作业显示给外部世界的视图Jobdetails,但是当我想在company_id的视图整数上显示来自Company模型的company_name时,我遇到了一个问题。

我尝试过不同的方法,但还是没有用。

所以,我不知道如何在我的控制器中构建这个查询,如果你能告诉我问题出在哪里,那你就太好了。谢谢。

Schema.rb

代码语言:javascript
复制
ActiveRecord::Schema.define(version: 20150212182839) do


  create_table "companies", force: true do |t|
    t.string   "company_name"
    t.string   "user_id"
    t.datetime "created_at"
    t.datetime "updated_at"
  end

  create_table "jobdescriptions", force: true do |t|
    t.string   "applyjobid"
    t.string   "job_title"
    t.string   "department"
    t.text     "shift"
    t.string   "work_location"
    t.string   "position_supervisor"
    t.string   "supervisor_position_supervisor"
    t.decimal  "rate_pay"
    t.text     "benefits"
    t.text     "other_benefits"
    t.text     "job_summary"
    t.text     "job_duties"
    t.text     "tasks"
    t.text     "results"
    t.text     "responsibilities"
    t.text     "knowledge"
    t.text     "skills"
    t.text     "abilities"
    t.text     "physical_requirement"
    t.text     "work_envir_condition"
    t.text     "protective_clothing_and_devices_required"
    t.text     "tools_or_equipment_required"
    t.text     "qualifications"
    t.text     "education_and_training"
    t.text     "license_certification"
    t.text     "experience"
    t.text     "aptitudes_interests_temperament"
    t.text     "roles_relationships"
    t.text     "supervisory_responsibility"
    t.text     "advancement_promotion_opportunities"
    t.string   "internal_comment"
    t.string   "submited_by"
    t.string   "approved_by"
    t.string   "statut"
    t.date     "from_date"
    t.date     "end_date"
    t.integer  "company_id"
    t.datetime "created_at"
    t.datetime "updated_at"
  end

  add_index "jobdescriptions", ["company_id"], name: "index_jobdescriptions_on_company_id"

  create_table "users", force: true do |t|
    t.string   "username"
    t.string   "country"
    t.string   "role_id"
    t.integer  "company_id"
    t.string   "email", default: "", null: false
    t.string   "encrypted_password", default: "", null: false
    t.string   "reset_password_token"
    t.datetime "reset_password_sent_at"
    t.datetime "remember_created_at"
    t.integer  "sign_in_count", default: 0,  null: false
    t.datetime "current_sign_in_at"
    t.datetime "last_sign_in_at"
    t.integer  "current_sign_in_ip"
    t.integer  "last_sign_in_ip"
    t.datetime "created_at"
    t.datetime "updated_at"
  end

  add_index "users", ["company_id"], name: "index_users_on_company_id"

  add_index "users", ["email"], name: "index_users_on_email", unique: true

  add_index "users", ["reset_password_token"], name: "index_users_on_reset_password_token", unique: true

  create_table "users_roles", id: false, force: true do |t|
    t.integer "user_id"
    t.integer "role_id"
  end

  add_index "users_roles", ["user_id", "role_id"], name: "index_users_roles_on_user_id_and_role_id"

end

这是我的JobdescriptionsController

代码语言:javascript
复制
class JobdescriptionsController < ApplicationController
  layout 'application'

  def new
    @jobdescription = Jobdescription.new
  end

  def create
    @jobdescription = current_user.company_id.jobdescriptions.create(jobdescription_params)
    redirect_to new_jobdescription_path
  end

  private

    def jobdescription_params
        params.require(:jobdescription).permit(:applyjobid, :job_title, :work_location, :rate_pay, :shift, )
    end
end

Jobdetails Controller

代码语言:javascript
复制
 class JobdetailsController < ApplicationController
   layout 'apply'

       def show
         @jobdetail = Jobdescription.find_by_applyjobid(params[:applyjobid])
         @nm = @jobdetail.company_name
       end

   end

Jobdescription模型

代码语言:javascript
复制
  class Jobdescription < ActiveRecord::Base
    belongs_to :company
  end

Company模型

代码语言:javascript
复制
 class Company < ActiveRecord::Base
   has_many :users
   has_many :jobdescriptions
 end

视图Jobdetails/show

代码语言:javascript
复制
 <strong>Company name:</strong>
 <%= @nm %>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-02-13 01:42:12

Jobdetail模型没有company_name方法,但Company有。只需更改@nm任务,通过公司协会获取公司名称:

代码语言:javascript
复制
@nm = @jobdetail.company.company_name
票数 1
EN

Stack Overflow用户

发布于 2017-07-18 09:47:26

您可以在模型中添加company_name作为方法,就好像您多次使用它一样。

代码语言:javascript
复制
def company_name
 company.company_name
end

那么您就可以直接使用它了。

代码语言:javascript
复制
@jobdetail.company_name
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28491027

复制
相关文章

相似问题

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