Маршрутная проблема. URL становится параметром - PullRequest
0 голосов
/ 02 января 2012

У меня есть URL-адрес с путем /user_management/edit_official/:id

соответствующий ему вывод из rake routes равен

user_management_update_official POST   /user_management/edit_official/:id(.:format)           {:controller=>"user_management/employees", :action=>"update_official"}

Когда я пытаюсь получить доступ к URL-адресу через форму, URL-адрес не достигается, потому чтоURL /user_management/edit_official/:id становится параметром.

Ниже приведена запись в файле журнала?

Начат POST "/ user_management / edit_official / 31" для 127.0.0.1 в 2012-01-02 11:05:21 +0530 Обработка ErrorsController # index как HTML

Параметры: {"utf8" => "✓", "authenticity_token" => "DED4E / 9w / GDUQdjZ27mrUWrYBgipgHnNvS8mOjdaNXU" ","=> {"empl_id" => "", "translation_date" => "", "designation_id" => "", "rep_head1_id" => "", "payment_mode" => "", "pf_number" => "", "bank_name" => "", "pt_applicable" => "false", "reg_date" => "", "employee_type_id" => "", "joining_date" => "", "rep_head2_id" => "","pf_applicable" => "false", "bank_account_number" => "", "empl_email_id" => "false", "last_working_date" => ""}, "designation_level" => "L-5b", "user" => {"username" => "dsaf.adsfas", "password" => "[FILTERED]"}, "commit" => "Next", "a" => "user_management / edit_official / 31 "}

Есть ли причина для этого.Спасибо.

РЕДАКТИРОВАТЬ: Форма включена

<% url = user_management_update_official_path(@employee) %>
    <%= form_for(@employee, :url => url, :html => { :enctype => 'multipart/form-data'} ) do |f| %>
      <div id="employee_details" class="employee_form_steps">
        <%= render :partial => 'user_management/employees/official_information', 
          :locals => { :f => f} %>
        </div>
        <div class="btn_row">
          <%= content_tag(:button, '< Back', :id => 'official_information_back', :class => 'grey') %>
          <%= f.submit 'Next', :class => 'green', :style => 'margin:0px;padding:4px;width:50px;' %>
          <%= content_tag(:button, 'Cancel', :class => 'cancel grey') %>
        </div>

      <% end %>

Ответы [ 2 ]

0 голосов
/ 02 января 2012

Фактической проблемой был метод http, используемый для формы.form_for использовал метод put, в то время как в маршрутах я указал POST.Изменив POST на PUT, все заработало.

0 голосов
/ 02 января 2012

Ошибка должна лежать в вашем routes.rb

Правило в этом файле: первое совпадение, первое обслуженное.

Попробуйте взять строку, соответствующую "errors#index", и поставить ее под строкой, описывающей /user_management/edit_official/:id

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