Possible en double:
Passing only two variables between controller and view - best practice?Rails: variables Partager entre le contrôleur et la vue
Il est mon action:
def list
@codes = Code.order("created_at")
@languages = Language.order('name').collect {|l| [l.name, l.coderay]}
end
Il est mon avis (j'ai enlevé quelques lignes):
<% @codes.each do |code| %>
<div class="code">
<%= link_to code.title, :action => 'show', :id => code.id %>
<% if code.author %>
@<%= code.author %>
<% end %>
</div>
<% end %>
<%= render :partial => 'shared/error_messages', :locals => {:object => @code} %>
<%= form_for :code, :url => {:action => 'create' }, :html => {:multipart => true} do |f| %>
<%= f.text_field :title %><br />
<%= f.text_area :content %><br>
<%= f.select(:language, @languages, {:selected => 'text'}) %>
<%= f.text_field :author %><br>
<%= f.submit "Submit code" %>
<% end %>
Il y a 3 variables: @codes
(liste des articles), @code
(poste actuel, utilisé dans une autre action) et @languages.
Mon IDE écrit:
Dans la plupart des deux variables d'instance doivent être partagées entre le contrôleur et vue
Cette inspection met en garde s'il y a plus de deux variables d'instance partagées entre un contrôleur et une vue. Un contrôleur doit gérer uniquement une variable d'instance, plus une seconde pour la variable current_user .
Habituellement, je partage plus de variables entre Controller et View (en PHP), parfois 10+.
Comment cela se fait-il dans Rails?
http://stackoverflow.com/questions/ 7051053/passing-only-two-variables-between-controller-and-view-best-practice – ShaggyInjun