def admin_options_for_registrar(registrar)
if registrar.enrollment_application != nil && registrar.enrollment_application.status == "Complete"
["Show", "/registrars/"+registrar.id.to_s],["Edit", "/edit_registrars/"+registrar.id.to_s], ["Dashboard", "/homes/"+registrar.enrollment_application.id.to_s], ]
else
["Show", "/registrars/"+registrar.id.to_s],["Edit", "/edit_registrars/"+registrar.id.to_s], ["Dashboard", "/homes/"+registrar.enrollment_application.id.to_s], ]
end
end
我在模型文件中写的这个辅助方法 现在我以这种方式在视图文件中调用此方法
<% if xyx!= nil? %>
<td><%= select_tag "options", options_for_select([admin_option_for_registrar])
<% end %>
这应该给我下载编辑,显示和仪表板,但它给我错误undefined mentod'admin_options_for_registrar'
任何帮助??
答案 0 :(得分:1)
Helper方法应该放在'app / helpers'中的帮助文件中,而不是放在模型文件中。
正如所写,听起来你已经为你的模型创建了一个实例方法,你试图在没有实例的情况下调用它。
<强>更新强>
该功能本身存在许多其他问题:
]
个
return
关键字registrar
),但你没有在[]
尝试使以下工作正常,然后再添加分支逻辑:
def admin_options_for_registrar(registrar)
[
["Show", "/registrars/"+registrar.id.to_s],
["Edit", "/edit_registrars/"+registrar.id.to_s],
["Dashboard", "/homes/"+registrar.enrollment_application.id.to_s]
]
end
# pass the registrar object into your function
<%= select_tag "options", options_for_select(admin_option_for_registrar(registrar))