有什么方法可以在Rails模板中输出动作?相当于ASP.NET MVC Html.RenderAction的东西? 我需要在边栏中渲染一些东西,我不想将查询放在partials或特定的控制器中。到目前为止,我只能想到一种方法 - 将一些东西放入@stuff(通过任何方式)实例var和let render找到适当的部分或明确指定它。能够只改变一个文件来改变边栏的内容会更好(如在ASP中)。在模板中呈现动作输出
回答
是的,有。您可以将“侧栏”部分添加到应用程序布局(在app/views/layouts文件夹中)。
你可以把获得的 “边栏” 变量中的before_filter在ApplicationController中
class ApplicationController < ActionController::Base
before_filter :sidebar_function
我不知道ASP.net,但是,我认为Rails产量可能是解决方案。这里是一个小例子:
视图:
<% content_for :one do %>
Test one
<% end %>
<% content_for :two do %>
Test two
<% end %>
<p>Hi</p>
application.html.erb
<%= yield :one %>
<%= yield %>
<%= yield :two %>
见Railsguides:http://guides.rubyonrails.org/layouts_and_rendering.html#understanding-yield
显然问题在于动态内容,这就是为什么我谈论查询和实例变量。 – synapse 2011-04-12 21:17:27
我真的没有看到你的问题。您可以在视图中定义content_for,让它在application.html.erb中呈现(我假设您的侧边栏是)或者在控制器中使用before_filter定义某些变量,或者在单独的控制器方法中执行。 – 2011-04-13 07:12:45
- 1. Ember:动态呈现模板
- 2. Swig模板在呈现内容之前显示输出标记
- 3. EmberJs中的模板呈现
- 4. 在SharePoint呈现模板
- 5. jQuery模板呈现
- 6. EJS模板呈现出什么
- 7. 如何将呈现的模板输出写入文件?
- 8. jQuery的模板引擎:无法呈现HTML输出
- 9. 将Play!Framework2作为模板呈现吗? !
- 10. Laravel:在数据库中呈现模板
- 11. Django ModelForm不在模板中呈现
- 12. EmberJs:在Handlebars-helper中呈现模板
- 13. html在ng模板中没有呈现
- 14. 其中Moodle正在呈现模板
- 15. Symfony在模板中呈现错误
- 16. 在模板中呈现填充表单
- 17. 如何在textarea中呈现HTML模板?
- 18. 在Symfony 2.1中呈现树枝模板
- 19. 停止在把手中呈现模板
- 20. 如何在ajax中呈现角模板
- 21. jinja2块没有在模板中呈现
- 22. 如何动态呈现模板内容
- 23. Django - 文本输入导致在呈现模板时出现奇怪的字符
- 24. 枝条呈现模板内的模板
- 25. Underscore.js模板:模板变量未呈现
- 26. 如何在Phoenix Framework中的javascript模板中呈现html模板
- 27. Django表单,用户输入字段不在模板中呈现
- 28. 在Jinja模板中呈现WTForms复选框输入
- 29. 电梯 - 在字符串变量中获取模板的呈现输出
- 30. Python django,可以直接在html模板中呈现视图的输出吗?
感谢名单。忘记了我可以改变控制器中的get_the_stuff过滤器,并让我自己的帮手决定部分渲染。但是,如果我想让控制器中的每个动作都有不同的侧边栏,我需要使用“:only”。 – synapse 2011-04-12 21:16:50
或者你可以在你的控制器模板中使用:content_for http://railscasts.com/episodes/30-pretty-page-title(不过,不要忘记在ApplicationController中包含合理的默认值) – x10 2011-04-12 21:24:19
它会得到。 – synapse 2011-04-12 21:42:18