Если вы не визуализируете show.html.erb
из действия index
, вам также нужно установить @some_instance_variable
в действии show. Когда вызывается действие контроллера, он вызывает соответствующий метод - поэтому содержимое вашего index
метода не будет вызываться при использовании действия show
.
Если вам нужно установить @some_instance_variable
на одно и то же в действиях index
и show
, правильным способом было бы определить другой метод, вызываемый как index
, так и show
, который устанавливает переменная экземпляра.
def index
set_up_instance_variable
end
def show
set_up_instance_variable
end
private
def set_up_instance_variable
@some_instance_variable = foo
end
Если метод set_up_instance_variable
закрыт, он не будет вызван как действие контроллера, если у вас есть маршруты с подстановочными знаками (т. Е. match ':controller(/:action(/:id(.:format)))'
)