Ошибка «Нет совпадений маршрутов», но Rake Routes находит ее - PullRequest
2 голосов
/ 24 января 2011

Хорошо, получаю довольно причудливую ошибку маршрутизации здесь.

No route matches {:controller=>"subscriptions", :action=>"change"}

Extracted source (around line #22):

19:     <td><%= s.product.name %></td>
20:     <td><%= s.calc_time_to_next_arrival %></td>
21:     <td>
22:         <%= form_for(:subscription, s, :url => { :action => "change" }, :id => s) do %>
23:             <%= label_tag(:q, "Days to delay:") %>
24:             <%= text_field_tag(:query) %>
25:             <%= check_box_tag(:always) %>

И все же, если я запускаю рейк-маршруты, это то, что я получаю

change_subscription GET    /subscriptions/:id/change(.:format {:controller=>"subscriptions", :action=>"change"} 

Почти уверен, что это должнотам.Не уверен, что происходит.

Здесь маршрут указан в маршрутах. Rb

resources :subscriptions do
    member do
      get 'change'
    end
  end

Вот контроллер для подписок

def change
    @subscription = Subscription.find(params[:id])
    @subscription.change(:query, :always)
    redirect_to :back
  end

1 Ответ

4 голосов
/ 24 января 2011

Это должно быть post 'change' вместо get 'change'

Э-э, я имел в виду put 'change', конечно.

Как насчет:

<%= form_for s, :url => change_subscription_path(s) do |f| %>

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...