私の行動があります:
def list
@codes = Code.order("created_at")
@languages = Language.order('name').collect {|l| [l.name, l.coderay]}
end
私の見解があります(いくつかの行を削除しました):
<% @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 %>
その中には 3 つの変数があります: @codes
(投稿のリスト)、@code
(現在の投稿、別のアクションで使用)、および @languages。
私のIDEは次のように書いています:
コントローラーとビューの間で共有されるインスタンス変数は最大で 2 つです。
このインスペクションは、コントローラーとビューの間で共有されるインスタンス変数が 3 つ以上ある場合に警告します。コントローラーは、1 つのインスタンス変数と、current_user 変数用の 2 つ目の変数のみを管理する必要があります。
通常、コントローラーとビュー (PHP の場合) の間でより多くの変数を共有し、時には 10 以上の変数を共有します。
Railsではどのように行われますか?