Volt 框架路由:何时调用操作?
Volt Framework Routing: When Are Actions Invoked?
我有一个应用程序可以根据这样的路线显示图片集:
client '/{{_type}}', controller: 'main', action: 'index'
client '/', {}
我的想法是,在 MainController#index
中,我将能够查看 params._type
并执行如下查询:
@uploads = store._uploads.where({category: params._type})
我有一个带有链接的导航栏:/
、/spotlight
、/nature
等等。第一个匹配默认路由,因此调用 index
操作。然后再次单击链接到 /spotlight
的导航项会调用 index
操作(预期响应)。但是...如果我单击 nature
的导航项,则不会调用 index
操作,不会刷新集合,也不会显示与类别相对应的图像。
我可能正在 "Rails" 看待路由应该如何工作,因为我读到了这篇文章:
以上引用自 Volt 文档对我来说意味着我不能指望路线来完成我概述的内容。
谁能阐明实现此目标的 "correct" 方法是什么?
添加@ryanstout 的答案,因为它会影响到适当的代码格式。
client '/{{_type}}', controller: 'main', action: 'index'
# ^^^ Note that the underscore may not be included
# here or you will have an undefined value
def uploads
store._uploads.where({category: params._type})
end
第二部分允许创建一个响应式数据源,其更改会在路由更改时影响页面。
视图文件更改时从视图绑定调用操作方法。在这种情况下,您的参数正在更改,但它不会影响视图文件。处理这种情况的一种方法是使用方法而不是 uploads
的实例变量
而不是设置@uploads,做这样的事情:
def uploads
store._uploads.where({category: params._type})
end
然后在视图中使用上传,您将使用@uploads。现在,当 params._type 更改时,任何依赖于上传方法的内容都将失效并重新呈现。
希望对您有所帮助。此外,我正在考虑向视图绑定添加一些内容以使其更容易,但我认为这对它的行为有好处。
我有一个应用程序可以根据这样的路线显示图片集:
client '/{{_type}}', controller: 'main', action: 'index'
client '/', {}
我的想法是,在 MainController#index
中,我将能够查看 params._type
并执行如下查询:
@uploads = store._uploads.where({category: params._type})
我有一个带有链接的导航栏:/
、/spotlight
、/nature
等等。第一个匹配默认路由,因此调用 index
操作。然后再次单击链接到 /spotlight
的导航项会调用 index
操作(预期响应)。但是...如果我单击 nature
的导航项,则不会调用 index
操作,不会刷新集合,也不会显示与类别相对应的图像。
我可能正在 "Rails" 看待路由应该如何工作,因为我读到了这篇文章:
以上引用自 Volt 文档对我来说意味着我不能指望路线来完成我概述的内容。
谁能阐明实现此目标的 "correct" 方法是什么?
添加@ryanstout 的答案,因为它会影响到适当的代码格式。
client '/{{_type}}', controller: 'main', action: 'index'
# ^^^ Note that the underscore may not be included
# here or you will have an undefined value
def uploads
store._uploads.where({category: params._type})
end
第二部分允许创建一个响应式数据源,其更改会在路由更改时影响页面。
视图文件更改时从视图绑定调用操作方法。在这种情况下,您的参数正在更改,但它不会影响视图文件。处理这种情况的一种方法是使用方法而不是 uploads
而不是设置@uploads,做这样的事情:
def uploads
store._uploads.where({category: params._type})
end
然后在视图中使用上传,您将使用@uploads。现在,当 params._type 更改时,任何依赖于上传方法的内容都将失效并重新呈现。
希望对您有所帮助。此外,我正在考虑向视图绑定添加一些内容以使其更容易,但我认为这对它的行为有好处。