Хорошо, я очень смущен и немного застрял здесь, я пытаюсь передать данные в свою модель через attr_accessor, но я не могу найти правильный путь. Вот моя установка до сих пор:Rails 4 передает данные с контроллера на модель attr_accessor
class ApplicationController < ActionController::Base
before_filter :current_league
protected
def current_league
@current_league ||= Conf.all.order('updated_at ASC').last.league
end
end
class HerosController < ApplicationController
def index
@heros = Hero.all.order(:name)
end
end
class Hero < ActiveRecord::Base
attr_accessor :current_league
def some_method
puts current_league
end
end
<% @heros.each do |hero| %>
<tr>
<td><%= hero.some_method %></td>
</tr>
<% end %>
Теперь, как мне установить @current_league
внутри моей модели? Я знаю, что у меня может быть attr_accessor
внутри моей модели, но это относится только к экземпляру этой модели, но действие индекса не создает экземпляр, насколько мне известно. Может быть, кто-то может указать мне в правильном направлении. Заранее спасибо.
Вы писали, что mathod в контроллере приложения находится в частной области, так как я знаю, что он будет использоваться только для всего контроллера, потому что весь контроллер наследует от контроллера приложения, поэтому использование этого метода в модели зажимает. –
Проверьте мое редактирование, как вы можете видеть, при перечислении всех Героев, я хочу, чтобы он отображал 'some_method' внутри индексного представления. –
его не рекомендуется вызывать контроллеров-контроллеров из ваших моделей. –