我正尝试使用动态内容创建页面。这是一系列相互链接的部分,当用户完成时,他们有一个由许多部分组成的完整文档。我在想我可以用<%= render 'section1' %>
之类的case语句,每个部分都有自己的case语句,用来从58个列表中创建5或6个用户选择的部分文件。但是,我不知道如何提供案例陈述的输入。我可以使用form_for
还是有另一种方式来给rails用户输入渲染每个部分?用于在rails中渲染部分的案例声明5
1
A
回答
0
我会从这个建议开始,但我想我会稍微调整这一点,因为您对此有所反应。 form_choices将是您想要包含的每个部分的名称。对于我的变量,我绘制了将包含在简历构建器应用程序中的部分。我一直在教自己使用这样的复选框集合,所以我的方法可能不是最传统的。有许多方法可以使用rail的内置check_box功能,但在尝试收集“包含列表”时,这些问题对我来说是有问题的。
以此为榜样,你需要在你的DynamicPage模型中定义的“sections_to_include”列,以便它可以接受一个数组作为它的值:
应用程序/模型/ dynamic_page.rb
serialize :sections_to_include
dynamic_page_controller.rb
def new
@dynamic_page = DynamicPage.new
end
def create
@dynamic_page = DynamicPage.new(dynamic_page_params)
if @dynamic_page.save
redirect_to dynamic_page_path(@dynamic_page)
else
render 'new'
end
end
private
def dynamic_page_params
params.require(:dynamic_page).permit(sections_to_include: [])
end
应用程序/视图/ dynamic_page/new.html.erb
<% form_choices = ["Name", "Contact Info", "Objective", "Work History", "Other Experience", "Skills", "References"] %>
<%= form_for @dynamic_page do %>
<% form_choices.each_with_index do |c, index| %>
<input name="dynamic_page[sections_to_include]" type="checkbox" value="<%= index %>" />
<p><%= c %></p>
<% end %>
<%= submit "Build this Page" %>
<% end %>
现在通过您在sections_to_include列定义的数组显示页面迭代。对于每一个,它呈现一个名为section_1,section_2等的部分。这将与前一个表单的复选框匹配。
应用程序/视图/ dynamic_page/show.html.erb
<% @dynamic_page.sections_to_include.each do |section_id| %>
<%= render :partial => "/dynamic_page/section_#{section_id}" %>
<% end %>
相关问题
- 1. Rails 3的渲染部分
- 2. Rails 3渲染/部分
- 3. Ruby on Rails渲染部分
- 4. Rails 5:渲染部分应用程序布局
- 5. 用ajax过滤Rails和渲染部分
- 6. 使用Rails助手渲染部分
- 7. rails:使用jquery foreach渲染部分
- 8. Rails 5 - 渲染新参数
- 9. Rails渲染部分内部线条块
- 10. Haml的与Rails的渲染部分
- 11. Rails的不渲染部分(_new_multiple_choice.rjs)
- 12. 的Rails 3 - 渲染部分js.erb
- 13. 的Rails:渲染集合:内部分
- 14. 关于选择的Oracle案例声明
- 15. 玉案例声明
- 16. 在Rails中使用ajax渲染的部分3
- 17. MVC3中的部分渲染
- 18. 为部分渲染javascript - Rails 3
- 19. Rails Ajax渲染部分(投票系统)
- 20. rails 3渲染部分带参数
- 21. Rails j渲染部分本地文件
- 22. ASP.NET MVC在Html Helper中使用渲染部分渲染
- 23. 案例声明字符分类
- 24. 在部分渲染中使用集合
- 25. Rails:在RSpec测试中调用“渲染”时“缺少部分”
- 26. 如何在Rails中渲染自定义模板中的部分
- 27. 在rails中渲染局部布局
- 28. 渲染部分未渲染.NET mvc
- 29. 渲染回部分
- 30. MVC部分渲染
按提交以这种方式,导轨是要寻找一个岗位路线。如果我没有更新模型,控制器应该如何处理这些信息?它应该如何告诉视图来呈现部分必要的? – Martin
现在我再考虑一下你的问题,你可能应该更新一个模型。我添加了可以在控制器和第二个视图中使用的代码。这些参数可能并不完全符合我的想法,因为我没有测试过。您需要执行一些调试以查看section_to_include列是否正在接收下一个视图中所需的数组类型。 –