Zum Beispiel habe ich viele ähnliche Seiten. Mit nur einem Unterschied: Auf jeder dieser Seiten (sie haben unterschiedliche Controller) haben sie unterschiedliche Variablen, was für diese html.erb-Datei gilt.Schienen, wie zur Methode html/js hinzufügen?
Zum Beispiel Video-Post html.erb
<% for post in @posts_for_video>
here some html
and javascript
and also ruby code injection
<% end %>
Video-Controller:
@posts_for_video = Post.where(photo: true)
Und meine Fotos Seite:
<% for post in @post_for_photos >
same html as video
same js as video
and same ruby code as video
<% end %>
Foto-Controller:
@posts_for_photo = Post.where(video: photo)
Also meine Frage: Gibt es eine Möglichkeit, html + js + ruby_code zu setzen, zum Beispiel application_controller.rb
?
Oder gibt es eine Möglichkeit, Variable an _some.html.erb als Parameter übergeben?
Ich denke, was ich suche ist (in application_controller.rb):
def posts_for_all(post_variable)
for post in post_variable
html: post.theme
js: post.animation
ruby: some methods
end
end
sehen Warum würden Sie Willst du das in 'application_controller.rb' eintragen? Meiner Meinung nach ist es nur klug, Dinge wie Methoden, die die Erkennung von Logins behandeln, zu finden, und herauszufinden, welcher spezifische Benutzer bestimmten Dingen darin entspricht. –
I.E Sie sollten es sauber halten und nur Funktionen behalten, die andere 'Controller' benutzen. –
@Muntasir Alam, über application.rb war es nur als Beispiel. Aber ich rede nicht, Code in jeder html.erb zu wiederholen (und der einzige Unterschied in diesen htmls wird eine Variable sein). Oder mb gibt es eine Möglichkeit, Variablen als Parameter an html.erb zu übergeben? –