Html-teilweise im JSON-JBuilder
Ich bin rendering JSON von einigen Studenten, die mit JBuilder in Rails 4. Ich möchte, dass jeder student einen "html" - Attribut enthält die HTML-teilweise für einen bestimmten Schüler:
[
{ html: "<b>I was rendered from a partial</b>" }
]
Ich habe versucht, die folgenden:
json.array! @students do |student|
json.html render partial: 'students/_student', locals: { student: student }
end
Aber das gibt mir:
Missing partial students/_student with {:locale=>[:en], :formats=>[:json], :handlers=>[:erb, :builder, :raw, :ruby, :jbuilder, :coffee, :haml]}.
- versuchen
render partial: '/students/student'
- Das funktioniert auch nicht
- was ist der name Ihres teilweise? wo lebt er?
- render partial: '/Schüler/student " kann nicht gearbeitet haben, weil das führende /. Versuchen: render partial: 'Studenten/Schüler'
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie die partiellen format wie Schienen Aussehen wird, für die teilweise mit dem aktuellen format (json) standardmäßig. Zum Beispiel:
render partial: 'students/student.html.haml'
bekam aberMissing partial students/stundent.html.haml with {:locale=>[:en], :formats=>[:json], :handlers=>[:erb, :builder, :raw, :ruby, :jbuilder, :coffee, :haml]}.
Müssen Sie den partial-format.
json.array! @students do |student|
json.html render(student, formats: [:html])
end
Hier ist was für mich gearbeitet:
Schienen partials verwenden Sie einen Unterstrich im Dateinamen aber nicht in den code, wenn auf diese verwiesen wird als eine Zeichenfolge (je nachdem, wie Sie sind, laden Sie natürlich). In der Regel eine teilweise genannt posts/_post.html-Code.haml wird im code verwiesen wird, wie render :partial => 'Beiträge/post'