我试图在视图中访问关联模型的方法,但是获取未定义的方法错误
程序的未定义方法`cpt_code':0x007fe7b55518e8
。谢谢你的帮助!
索引视图:
<% @actuals.each do |actual| %>
<% if actual.procedures.present? %>
<% actual.procedures.each do |procedure| %>
<tr>
<td><%= procedure.cpt_code.id %></td>
<td><%= procedure.description %></td>
</tr>
<% end %>
<% end %>
<% end %>
控制器:
def index
@actuals = Actual.all
end
型号:
class Actual < ApplicationRecord
has_many :actual_procedures, :dependent => :destroy
has_many :procedures, through: :actual_procedures
class ActualProcedure < ApplicationRecord
belongs_to :procedure
belongs_to :actual
end
class Procedure < ApplicationRecord
has_many :actual_procedures
has_many :actuals, through: :actual_procedures
end
class CptCode < ApplicationRecord
has_one :procedure
架构中的程序:
create_table "procedures", force: :cascade do |t|
t.bigint "cpt_code_id"
t.string "code"
t.string "description"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.index ["cpt_code_id"], name: "index_procedures_on_cpt_code_id"
end
答案 0 :(得分:1)
未定义的方法`cpt_code&#39;程序:0x007fe7b55518e8
您在 AxShockwaveFlash
表格中没有cpt_code
。也许你的意思是procedures
。
<强>更新强>
实际原因是您没有为cpt_code_id
模型中的cpt_code
定义关联
Procedure