2011-06-19 8 views
1

私はレールが初めてで、ミーティングコントローラのインデックスメソッドを使用して作成されたミーティングのリストの概要を理解しようとします。このページには、選択した年の会議のみを表示するために特定の年を選択できるように、すべての年の選択もあります。私はそれがページ上のフォームを追加実現:概要/インデックスで日付セレクタを使用するベストプラクティス

index.html.erb:

<h1>Protokolle</h1> 
<%= form_tag 'meetings', :method => :get do %> 
<%= select_tag :selected_year, options_for_select(available_years, @year), {onchange: 'this.form.submit();'} %> 
<% end %> 
<%= link_to image_tag('new'), new_meeting_path %> 
... 

を、フォームのアクションメソッドとして入れて使用して、動作しますが、取得しない醜いのようです。

これはどのようにして改善できますか?

meetings_controller:

class MeetingsController < ApplicationController 

def index 
    @year = selected_year(params[:selected_year]) 
    @meetings = Meeting.where(:held_on => ("01.01.#{@year}".to_date)..("31.12.#{@year}".to_date)).order('held_on desc').all 

    respond_to do |format| 
    format.html # index.html.erb 
    end 
end 
... 

あなたのヒントをありがとう...

答えて

0

取得専用のアクションのためのフォームでGETを使用しても問題はありません。 PUTはRESTfulルートのため動作しません - POSTバージョンでは 'meetings'ルートがアクティブになり、新しい会議には 'create'と呼ばれ、PUTは存在しないとしてルータから拒否されます。

+0

ご意見ありがとうございます。このためのフォームの使用は、私にとってはあまりうまくないようです。多分、それはajaxを使ってうまくいくかもしれません。 –

+0

どのようにajaxが違うのですか?それは依然として何らかの方法で呼び出されたget-requestです。どのように視覚的に見たいですか?おそらく、そこからそれを構築することができますか? –

関連する問題