2017-03-01 4 views
2

Warum sind einige Instanzvariablen in der Ansicht ohne das '@' Symbol verfügbar? Ist es ein Komfort, der von Rails bereitgestellt wird, wo Instanzvariablen, die mit dem Namen des Controllers übereinstimmen, verfügbar sind oder etwas anderes hier funktioniert?Schienen 5: Lokale Variablen in Form teilweise

Ex:

picks_controller.rb

@pick = Pick.new 
@show = Show.new 

_form.html.erb

<%= pick.class %> // no exception raised 
<%= show.class %> // "undefined local variable or method `show'" exception raised 

Antwort

4

Dies ist eine Änderung in Rails 5. Die Standardansicht Datei jetzt geht eine lokale Variable für die Form partially.

Statt dessen ...

new.html.erb

<%= render 'form' %> 

Dies ist der neue Standard ...

new.html.erb

<%= render 'form', person: @person %> 

Siehe hierzu pull request für weitere Informationen.