问题标签 [partials]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby-on-rails - Ruby/Rails 1&2:收集问题
嘿,我刚开始学习 ruby/rails。目前,我尝试做一个德国书“Praxiswissen Ruby on Rails”的例子,这本书很古老,是为 Ruby on Rails 1 编写的。无论如何,我试着用 Rails 2 做例子。现在我遇到了问题一个多星期。
根据这本书(Rails 1),我必须在我的控制器中写:
page.replace_html('broadcast_search_result', :partial => 'broadcast_search_result', :collection => @videos['items']);
我发现 Rails 2 中的这个写法类似于:
@items = 尝试(@videos[:items])
page.replace_html('broadcast_search_results', :partial => @items )
但是服务器会抛出以下消息:
ActionView::MissingTemplate(视图路径 app/views 中缺少模板哈希/_hash.erb):
应用程序/控制器/stations_controller.rb:46:in `__instance_exec0'
app/controllers/stations_controller.rb:30:in `search_broadcasts'
我应该创建一个模板 hashes/_hash.erb 而不是stations/_item.erb。有人可以帮我吗?
非常感谢你!
好的,我将添加控制器代码:stations_controller.rb:
模型broadcast.rb(用于Broadcast.get_videos):
asp.net-mvc - 查看模型 (ViewData)、UserControls/Partials 和全局变量 - 最佳实践?
我试图找出一种在我的所有部分以及我的视图中都有“全局”成员(例如 CurrentUser、Theme 等)的好方法。
我不希望有一个可以返回此数据的逻辑类(例如 BL.CurrentUser) 我确实认为它需要成为我视图中模型的一部分所以我尝试使用这些成员从 BaseViewData 继承。在我的控制器中,以这种或其他方式(我的 BaseController 中的过滤器或基本方法),我创建了继承类的实例并将其作为视图数据传递。到目前为止一切都很完美,因为我的视图数据可以在主视图上与基本成员一起使用。但是部分呢?
如果我有一个需要显示博客文章的简单部分,那么它看起来像这样:
以及在我看来呈现这个部分的简单代码(它的 model.Posts 是IEnumerable<Post>
):
由于局部模型不是 BaseViewData,因此我无权访问这些属性。因此,我尝试创建一个名为 PostViewData 的类,它继承自 BaseViewData,但随后我的包含视图将有一个代码来实际在其中创建 PostViewData,以便将其传递给部分视图:
或者我可以使用复制构造函数
我只是想知道在我继续之前是否还有其他方法可以实现这一点。
有什么建议么?
谢谢!
ruby-on-rails - 调用 erb 模板是否也可以看到局部定义的变量?
如果我在一个局部变量中声明局部变量,然后从另一个 erb 模板渲染局部变量,后者是否也可以访问这些局部变量?
ruby-on-rails - 在 Rails 中渲染不同类的集合
我有一个包含几个不同类的实例的集合,我想为每个实例呈现部分。我可以使用以下代码执行此操作:
我的问题是:如何在不同的基本目录中呈现不同的部分?上面的代码将查找 app/views/stories/_story.html.erb,但是,此操作的部分内容都保存在不同的目录中 - app/search/_story.html.erb。有没有办法指定这个?
ruby-on-rails - Rails -- 如何将 HAML 部分的 HTML 输出保存为字符串以发送到外部服务?
我们使用 rake 任务每 24 小时自动生成一份时事通讯。时事通讯顶部有一个部分,管理员可以在其中放置自定义消息。管理员使用的屏幕上有时事通讯的实时预览(他们坚持这样做),使用带有集合的 haml 部分呈现。
为了生成和发送电子邮件,我们将 xml 文档发送到第三方 API,其中包含(除其他外)我们想要生成的电子邮件的 HTML。
我想要做的是将这个 haml 部分的输出保存在 rake 任务中,类似于 PHP 的 ob_*() 缓冲函数。有没有办法做如下的事情:
我可能遗漏了一些明显的东西,我可以想出一些方法来做到这一点,但其中大多数都不是 DRY,我不想在帮助程序、模型或任务本身中生成大量 html。
让我知道是否有办法让我做到这一点。
php - ZF:在 partialLoop 中使用 setObjectKey 仅用于特定的部分
我已经弄清楚了如何使用 PartialLoop 帮助器的 setObjectKey 方法将模型放入 partialLoops。我想知道是否有一种方法可以指定特定的部分循环使用模型键而其他部分不使用。现在我想我必须做这样的事情:
有什么办法吗?
ruby-on-rails - 部分和局部变量
如果我们想将一个集合传递给部分,我们这样做:
如果我们想在自定义变量中传递单个对象,我们这样做:
现在我应该怎么做才能传递一个集合,通过一个自定义变量“代理”它(如第二种情况)?
ruby-on-rails - 使用 Ajax 替换基于 Onclick 事件的页面元素
我正在重新制定这个问题,因为我现在更好地理解了这个问题。
我有一个包含四个模型的应用程序:用户、产品、品种和季节。
用户
has_many :seasons
has_many :products, :through => :seasons
has_many :varieties, :through => :seasons
产品
has_many :seasons
has_many :users, :through => :seasons
has_many :varieties
种类
belongs_to :product
has_many :seasons
has_many :users, :through => :seasons
四季
belongs_to :product
belongs_to :user
belongs_to :variety
在产品/展示视图中,我列出了可用于特定产品的每个品种,以及携带该特定产品的用户。
首次加载产品/展示页面时,我会通过以下方式显示所有携带该产品的用户:
我还通过这样做列出了产品可用的品种:
这就是 Ajax 需要发生的地方。当我点击品种名称时,我想用@variety.seasons 替换@product.seasons 循环。我认为这应该只显示具有特定种类的用户。所以看起来像这样:
我越来越近了,但我无法让它工作。目前,当我点击一个品种时,前端什么也没有发生。在日志中,我得到这个:
日志引用 #4 并将 4 称为操作。4 是我点击的商品的品种 ID。
这是我的设置:
ProductsController#show
@product = Product.find(params[:id])
@varieties = @product.varieties @users = @product.users
Product/show view #列出拥有该产品的用户
品种控制器#show。
品种/show.js.rjs
@page.replace_html "userList", :partial => "products/users", :collection => @variety.users
因此,目前,页面正在渲染和显示正确的 html 和数据。但是 onclick 不起作用。当我点击一个品种时,应用程序没有正确处理请求并且用户列表没有改变。
更新
回应 Anatoliy 的评论:
我不确定到底需要添加什么路线。我尝试添加以下内容,但结果与之前相同:
map.resources :varieties, :member => { :show => :get }
您能否更具体地说明应该调用什么成员路由?
ruby-on-rails - 让模板和多个部分添加到布局中
首先,让我说我很熟悉content_for
。这不是我在这里寻找的东西。
我想允许一个模板和任意数量的部分来构建,比如说,我想要加载的 JavaScript 文件列表,并将它们传递给布局,以便它处理并添加到该<head>
区域。我只想在页面确实需要它们时加载文件,所以我宁愿不只是将它们全部放入布局中。它似乎也不像是由控制器处理的事情,因为这些主要是特定于视图的更改。
我试过用content_for
它来返回一个名称数组,但这似乎不起作用。它也不允许多个部分将自己的先决条件添加到列表中。我还尝试在模板/部分中使用辅助函数添加到列表中,然后在布局中使用该列表,但似乎布局代码是在模板代码之前评估的。
有任何想法吗?顺便说一下,这不是 JavaScript 特有的。我只需要一种将 Ruby 对象从模板/部分传递到布局的方法。
编辑:每个请求,一个例子。css_import
只是我写的一个模拟 CSS 的助手@import
。
javascript - link_to_remote 后缺少模板
我正在使用 link_to_remote 更新我页面上的部分内容。问题是 Rails 没有找到我的部分。
我在控制器方法中指定了我的部分(一个 html.erb 文件)的完整路径:
我知道控制器方法受到打击,因为“某物”被创建了。我得到错误"Template missing [:controller_name]/[:method_name].js.erb not found"
。
谁能解释为什么 Rails 似乎使用 js.erb 的默认路径?
提前致谢!