Я новичок в рельсах, поэтому любая помощь или совет будет очень оценена. Я пытаюсь вызвать созданный вспомогательный метод под названием «trackable_thing» в моих взглядах файла, но я получаю сообщение об ошибке:Использование созданного метода Помощника в Представлениях - rails4
wrong number of arguments (0 for 1)
[деятельность/index.html.erb]: Я первоначально имел в моих взглядах файл:
<h1>Activities</h1>
<% @activities.each do |activity| %>
<% trackable_thing = activity.trackable %>
<% if trackable_thing.respond_to? :name %>
<% name = trackable_thing.name %>
<% elsif trackable_thing.respond_to? :content %>
<% name = trackable_thing.content %>
<% end %> </br>
<%= link_to activity.owner.firstname, activity.owner if activity.owner %> created the event "<%= name %>"</br>
<% end %>
[activities_helper.rb]: Но я хотел бы преобразовать ниже логику кода в представлениях на вспомогательный метод и поместить его в файл activities_helper.rb - так я написал ниже вспомогательный метод
activities/index.html.erb (code changed to a helper method as below)
<% trackable_thing = activity.trackable %>
<% if trackable_thing.respond_to? :name %>
<% name = trackable_thing.name %>
<% elsif trackable_thing.respond_to? :content %>
<% name = trackable_thing.content %>
<% end %>
activities_helper.rb
module ActivitiesHelper
#identifies if the trackable_thing is an event or comment
def trackable_thing
trackable_thing = activity.trackable
if trackable_thing.respond_to? :name
name = trackable_thing.name
elsif trackable_thing.respond_to? :content
name = trackable_thing.content
end
end
[activities/index.html.erb]: Я пытаюсь вызвать метод helper в представлениях, но я не уверен, как это сделать. Я назвал его, как показано ниже:
<h1>Activities</h1>
<% @activities.each do |activity| %>
<% trackable_thing %>
<%= link_to activity.owner.firstname, activity.owner if activity.owner %> created the event "<%= name %>"</br>
<% end %>
error message states: wrong number of arguments (0 for 1)
Я также попытался назвать его, как показано ниже, но я получаю сообщение об ошибке:
<h1>Activities</h1>
<% @activities.each do |activity| %>
<% trackable_thing (link_to activity.owner.firstname, activity.owner if activity.owner %> created the event "<%= name %>")</br>
<% end %>
error message states: syntax error
Любой совет или помощь будет высоко ценится.
Вы должны передать 'активность' методу. 'trackable_thing activity' – ptd