Rails, не могу просмотреть страницу регистрации пользователя - PullRequest
0 голосов
/ 17 ноября 2010

Я получаю эту ошибку, когда пытаюсь просмотреть страницу регистрации моего пользователя

Firefox обнаружил, что сервер перенаправляет запрос на это обращаться таким образом, чтобы никогда не полный.

def register
    #User registration form
    @user = User.new(params[:user])
    if @user.save
      flash[:notice] = "Account Created Successfully"
      redirect_to(:action=>'menu')
    else
      flash[:notice] = "Please fill in all fields"
      redirect_to(:action=>'register')
    end
  end


<div class="user new">
  <h2>Create User</h2>

  <%= form_for(:user, :url => {:action => 'register'}) do |f| %>

    <table summary="User form fields">
      <tr>
        <th>First Name</th>
        <td><%= f.text_field(:first_name) %></td>
      </tr>
      <tr>
         <tr>
        <th>Last Name</th>
        <td><%= f.text_field(:last_name) %></td>
      </tr>
       <tr>
        <th>UserName</th>
        <td><%= f.text_field(:user_name) %></td>
      </tr>
       <tr>
        <th>Password</th>
        <td><%= f.text_field(:password) %></td>
      </tr>
      <tr>
         <tr>
        <th>Email</th>
        <td><%= f.text_field(:email) %></td>
      </tr>
      <tr>
         <tr>
        <th>Telephone</th>
        <td><%= f.text_field(:telephone) %></td>
      </tr>
      <tr>
      <td>&nbsp;</td>
      <td><%= submit_tag("Register") %></td>
      </tr>
    </table>


  <% end %>
</div>

Ответы [ 3 ]

1 голос
/ 17 ноября 2010

Разве вы не помещаете редирект в свой метод просмотра?

redirect_to(:action=>'register')

Различаете ли вы метод представления и метод, который фактически запускается, когда пользователь отправляет форму? Ex. для RestfulAuthentication представление называется «новым», а фактический метод, который создает пользователя после отправки формы, называется «созданием».

1 голос
/ 17 ноября 2010

Вы перенаправляете вам то же действие в регистре else. Попробуйте render :action => '<action that contains the form>'

0 голосов
/ 17 ноября 2010

Я думаю, что сообщение FireFox означает, что у вас есть какой-то цикл перенаправления сервера.Например, если в контроллере приложения есть фильтр before, который сообщает, что пользователь не вошел в систему, отправьте его на страницу регистрации пользователя.Но затем при перенаправлении на страницу регистрации этот пользователь все еще не вошел в систему. Затем Rails попытается перенаправить его снова на эту страницу.Таким образом, образуя петлю.

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