我收到错误:
undefined local variable or method `url_to_submit_event'
当我试图从我的html.haml中的表单访问辅助方法时。
html看起来像这样(我试图调用的方法是url_to_submit_event):
myproject / app / views / myengine / form.html.haml:
= form_for @event, url: url_to_submit_event(@event) do |f|
.row
.col-md-12.no-padding
.whitebg.padding15
.form-group.user-info-block.required
= f.label :title, t('myght_default_events.events.form.title'), class: 'control-label'
= f.text_field :title, class: 'form-control'
并且助手是这样的:
myproject / app / helpers / myengine / event_helper.rb:
module MyghtDefaultEvents
module EventHelper
def url_to_submit_event(event)
if event.new_record?
myght_default_events.events_new_path
else
myght_default_events.events_update_path(event.id)
end
end
end
end
目前我试图在event_controller中手动添加我的助手和我的方法,但它不起作用。我已经以同样的方式使用了帮助器,我发现代码没有区别,你知道这里可以缺少什么吗?
我的活动在这个项目之外的引擎中,但我已经在两个项目之间建立了链接,这里是控制器,以防万一:
myengine / app / controllers / myengine / events_controller:
require_dependency“myght_default_events / application_controller”
module MyghtDefaultEvents #:nodoc:
class EventsController < ApplicationController #:nodoc:
before_action :set_event, only: [:edit, :update, :destroy]
*various methods*
end
end
通常正确地命名它足以从视图中访问它,所以我不明白为什么我在这里有错误。