2013-10-25 122 views
0

我嘗試在我的objet日曆中搜索某些內容,但是當我點擊提交時,我總是收到此錯誤。 我真的不明白爲什麼?軌道搜索嵌套資源

請求方法POST不適合URL /。

_search.html.erb

<%= form_for user_calendars_path([@user, @calendar]), :method => 'get' do %> 
    <%= text_field_tag :search, params[:search_condition], :id => 'search_field' %> 
     <%= submit_tag "Search" %> 
    <p>hello </p> 
<% end %> 

calendar_controller

def index 
    @search = @user.calendar.search(params[:search_condition]) 
    @content_calendars = @user.calendar.all 
    @content_calendars_by_dates = @content_calendars.group_by(&:published_on) 
    @date = params[:date] ? Date.parse(params[:date]) : Date.today 
    end 

route.rb

resources :users do 
resources :calendars 
end 

回答

0

試試這個:

<%= form_tag user_calendars_path(@user, @calendar), :method => 'get' do %> 
    <%= text_field_tag :search, params[:search_condition], :id => 'search_field' %> 
    <%= submit_tag "Search" %> 
    <p>hello </p> 
<% end %> 
+0

如果我嘗試,我得到沒有路線匹配{:控制器=>「日曆」}。爲什麼我需要使用form_tag,因爲默認情況下,form_tag使用post而不是get? – zyriuse

+0

嗨zyriuse,根據你的路線,你應該定義CalendersController。 form_tag是因爲你沒有使用任何依賴於form_builder的屬性,並且通常我們使用form_for作爲對象。 – Kuldeep

+0

我如何定義CalendarsController?感謝您的關於form_tag和form_for – zyriuse