Ich verwende Rails 4. Ich hätte gerne eine Tabbed-Schnittstelle und so dachte ich, JQuery UI war der Aufgabe gewachsen. Was ich jedoch möchte, ist, wenn ein Benutzer auf jede Registerkarte klickt, wird der Inhalt meiner Teilansicht auf dieser Registerkarte (div) gerendert. Also meine Tabs, in meiner „app/views/admin/index.html.erb“ Datei angezeigt werden zur Zeit wie so ...In Rails, wie bekomme ich den Inhalt einer Datei zu rendern, wenn ich auf Tabs mit der jquery-ui Tabs-Funktion klicke?
<div id="tabs">
<ul>
<li><a href="list">Current Objects</a></li>
<li><a href="add">Add Object</a></li>
<li><a href="approve">Approve Objects</a></li>
</ul>
</div>
<div id="list"></div>
<div id="add"></div>
<div id="approve"></div>
Ich habe diese Teilansichten
app/views/admin/_add.html.erb
app/views/admin/_list.html.erb
app/views/admin/_approve.html.erb
Dann habe ich dies in meine app/assets/Javascripts/admin.coffee Datei
$(document).on 'ready page:load', -> $("#tabs").tabs()
Wie kann ich auf jedem Registerkarte klicken und die Inhalte der Inhalte über teilweise im Anzeigebereich zu machen bekommen? Ich habe dies in meinem Controller derzeit,
def list
@page_id = "list"
@my_objects = MyObject.all
render "index"
end
def add
@page_id = "add"
@my_object = MyObject.new
render "index"
end
def create
end
def approve
@page_id = "approve"
@my_objects = MyObject.where(enabled: [false, nil])
render "index"
end
, aber das funktioniert nicht. Danke, - Dave
JQuery bis das ist Aufgabe, aber in Rails-Anwendungen müssen Sie Ajax + "unaufdringliches JavaScript" einfügen, wenn Sie den Seiteninhalt ändern möchten, ohne eine Seite neu zu laden. – Elvn