我正嘗試使用動態內容創建頁面。這是一系列相互鏈接的部分,當用戶完成時,他們有一個由許多部分組成的完整文檔。我在想我可以用<%= 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列是否正在接收下一個視圖中所需的數組類型。 –