ruby-on-rails – Rails select_tag不会访问belongs_to关系
发布时间:2020-12-17 02:08:00 所属栏目:百科 来源:网络整理
导读:我想做一个 select_tag "employee_compensation_benefits_selection",options_from_collection_for_select(@employees,"id","entity.name","1") 但是entity.name不会工作会抛出一个未定义的方法`entity.name’. “entity”属于另一个模型.通过entity_id clas
我想做一个
select_tag "employee_compensation_benefits_selection",options_from_collection_for_select(@employees,"id","entity.name","1") 但是entity.name不会工作会抛出一个未定义的方法`entity.name’. “entity”属于另一个模型.通过entity_id class Employee < ActiveRecord::Base include UUIDHelper belongs_to :entity has_one :status has_many :restdays has_one :regular_work_period validates_presence_of :entity end require 'file_size_validator' class Entity < ActiveRecord::Base include UUIDHelper has_one :access,autosave: true has_one :employee,autosave: true has_many :contact_detail,autosave: true has_many :file_set has_many :link_set mount_uploader :logo,AvatarUploader validates_presence_of :name validates :name,uniqueness: true validates_length_of :description,maximum: 256 validates :logo,:file_size => { :maximum => 25.megabytes.to_i } end 解决方法
您可以向员工添加可以调用的方法,例如:
class Employee < ActiveRecord::Base ... def entity_name self.entity.name end end 然后: select_tag "employee_compensation_benefits_selection","entity_name","1") 或者您可以使用lambda而不是添加方法: select_tag "employee_compensation_benefits_selection",lambda { |employee| employee.entity.name },"1") (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |