ApplicationController
before_action :example_filter
def example_filter
params[:foo] = '1' if #somethinghere
@foo = '1' if #somethinghere
end
NewsController
if @foo == '1' #somethinghere
if params[:foo] == '1' #somethinghere
Каковы различия или преимущества между использованием @foo или params [: foo] в этой ситуации?В чем разница между использованием параметров [: foo] и @foo?
Одно различие состоит в том, что пользователь может передать Params [: Foo] сами в строке запроса:
example.com/news?foo=1
Параметр '@ Foo' является членом объекта. Параметр [params [: foo] '- это параметр запроса. 'Params [: foo]' - может быть только строкой. Парамы [params [: foo] = 1' являются параметрами запроса перезаписи). Лучше использовать '@foo = params [: foo]', а не '@foo = '1', если ...'. – oklas
@oklas, пожалуйста, подумайте о том, чтобы представить это как ответ –