Несколько форм на одной странице - PullRequest
1 голос
/ 14 марта 2010

У меня есть приложение, которое сейчас находится в бета-версии только для приглашения. Проблема в том, что я не могу заставить систему приглашения работать. (

На моей корневой странице есть форма для входа (которая отлично работает), и я пытаюсь добавить форму "запросить приглашение" на той же странице. Я начал делать это, поместив форму для InviteRequest (ActiveRecord) в частичную часть, в папку «views» для «InviteRequest». Приложение определенно вызывает этот фрагмент, но я получаю следующую ошибку:

NoMethodError in User_sessions#new

Showing app/views/invite_request/_new.html.erb where line #2 raised:

undefined method `invite_requests_path' for #<ActionView::Base:0x25b3248>
Extracted source (around line #2):

1: <% @invite_request = InviteRequest.new() %>
2: <% form_for @invite_request do |ir| %>
3:  <%= ir.label :email %>
4:  <%= ir.text_field :email %>
5: <% end %>

Я также прочитал раздел «Несколько моделей в форме» моей верной копии «Agile Web Development с Rails» , о том, что возможно делать это с тегом «fieldset», но не уверен, что это правильный подход.

Thx.

1 Ответ

2 голосов
/ 14 марта 2010

Ваш form_for @invite_request пытается выяснить, где должны быть опубликованы результаты из формы. Он делает это, просматривая маршруты и находя тот, который соответствует ресурсу и необходимым действиям. В вашем случае я предполагаю, что вы не настроили маршруты для InviteRequest. Вам необходимо настроить маршрутизацию для InviteRequest или указать URL-адрес для размещения в form_for.

form_for @invite_request, :url => { :controller => 'application', :action => 'request_invite' } do |form|
  ...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...