1

ユーザーがプロジェクトをデータベースに入力できるアプリがあります。フィールドの 1 つで、ユーザーは複数のテクノロジーを選択できます。テクノロジーのリストは、現時点ではデータベースに入力された順序で表示されるため、アルファベット順に表示する必要があります。

プロジェクトコントローラーでの新しいアクションは次のとおりです。

def new
    @project = Project.new
        @technol = Technol.new(params[:tech])

        @all_technols = Technol.all
        tech_ids = params[:technols][:id].reject(&:blank?) unless params[:technols].nil?


        @project_technol = @project.projecttechnols.build

    respond_to do |format|
      format.html # new.html.erb
      format.json { render json: @project }
    end
  end

ここに私の新しいビューの一部があります:

<div class="tech" STYLE="text-align: left;">
  <b>Technologies:</b>
  <style>
    .split { text-align:left; }
  </style>


  <p><ul> 

  <% for technol in Technol.all %> 
   <li class="split"> 
    <%= check_box_tag "project[technol_ids][]", technol.id,  @project.technols.include?(technol) %> 
    <%= technol.tech %> 
   </li> 

  <% end %> 
 </ul> 
 </p> 

誰にもアイデアはありますか?私はレールに慣れていないので、答えようとするときはこれを覚えておいてください。前もって感謝します。

4

1 に答える 1

4

テクノロジのリストを並べ替える必要があります。

@all_technols = Technol.order('tech ASC') # in the controller's action

Technol.all次に、 2 回目に呼び出す代わりに、ビューでこの変数を使用します。

<% @all_technols.each do |technol| %> 
  your code without changes here
<% end %>
于 2012-11-07T13:21:04.697 に答える