[英]Render partial on button click
我在單擊按鈕時無法渲染粒子。 我收到錯誤
HelpController#FAQ_help 缺少此請求格式和變體的模板。 request.formats: ["text/html"] request.variant: []
main_page.html.erb
<%= link_to "FAQ", FAQ_help_path %>
<div id="content">
</div>
help_controller.rb
def FAQ_help
respond_to do |format|
format.html {}
format.js
end
end
FAQ_help.js.erb
$('#content').html("<%= render :partial => 'FAQ_help' %>");
_FAQ_help.html.erb
<div>
<h1> This is the FAQ </h1>
</div>
路由文件
get 'FAQ_help', to: 'help#FAQ_help'
這個怎么樣:
# main_page.html.erb
<%= link_to "FAQ", FAQ_help_path, remote: true %>
並且
# faq_help.js.erb
$('#content').html("<%= escape_javascript(render :partial => 'FAQ_help')%>")
#fixed syntax
干杯!
由於您已為此請求創建了一個方法,為了清楚起見,我將對其進行更多定義:
def FAQ_help
respond_to do |format|
format.html {}
format.js {render: FAQ_help}
end
end
如果你想保持你的控制器干凈,我會傳遞一個帶有鏈接的參數,並檢查嬰兒車是否存在,如果它是渲染常見問題部分:
查看:
<link_to "Your FAQ" your_path, data: {method: :get, :remote => true, params: { faq: "#{current.user_name}" }.to_param }, :class =>"button" %>
控制器:
if params[:faq].present?
respond_to do |format|
format.html {}
format.js {render: FAQ_help}
end
else
respond_to do |format|
format.html {}
format.js {} #your default view for this method
end
end
這很方便顯示 IE:根據請求顯示不同的內容
ie: parms =bob # displays bobs FAQ
ie: parms =ted # displays teds FAQ
此技術類似於您為創建搜索而實施的技術。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.