2015-04-11 2 views
0

Я хочу отобразить все данные, имеющиеся в БД, на той же странице, где присутствует моя форма. Я сохранил одну запись. Пожалуйста, помогите мне показать все данные после отправки на той же странице.Показать все данные на одной странице с помощью Rails 3

Мой код выглядит следующим образом.

просмотров/пользователей/index.html.erb

<%= form_for :users,:url => {:action => 'create'} do |f| %> 
<p> 
    Name: <%= f.text_field :name %> 
</p> 
<p> 
    Email: <%= f.email_field :email %> 
</p> 
<p> 
    content: <%= f.text_field :content %> 
</p> 
<p> 
    <%= f.submit 'Create' %> 
</p> 
<% end %> 
<table> 
    <thead> 
    <tr> 
     <th>Name</th> 
     <th>Email</th> 
     <th>Content</th> 
     <th colspan="3"></th> 
    </tr> 
    </thead> 

    <tbody> 

    </tbody> 
</table> 

контроллер/users_controller.rb

class UsersController < ApplicationController 
    def index 
     @users=User.new 
    end 
    def create 
     @users=User.new(params[:users]) 
     if @users.save 
      flash[:notice]="User has created" 
      flash[:color]="valid" 
      redirect_to :action => 'index' 
     else 
      flash[:alert]="User couldnot created" 
      flash[:color]="invalid" 
      render 'index' 
     end 
    end 
end 

Я хочу показать в той же странице индекса после отправки формы с помощью Rails 3.please Помоги мне.

+0

Я не вижу никаких оснований для есть «User.new» в вашем индексе, вы используете его где угодно? –

+0

Извините его User.all –

+0

ok, поэтому в принятом ответе его нужно удалить. –

ответ

0

Это должно работать

просмотров/пользователей/index.html.erb

<%= form_for :user,:url => {:action => 'create'} do |f| %> 
<p> 
    Name: <%= f.text_field :name %> 
</p> 
<p> 
    Email: <%= f.email_field :email %> 
</p> 
<p> 
    content: <%= f.text_field :content %> 
</p> 
<p> 
    <%= f.submit 'Create' %> 
</p> 
<% end %> 
<table> 
    <thead> 
    <tr> 
     <th>Name</th> 
     <th>Email</th> 
     <th>Content</th> 
     <th colspan="3"></th> 
    </tr> 
    </thead> 
    <tbody> 
    <% @users.each do |u| %> 
     <td> <%= u.name%> </td> 
     <td> <%= u.email%> </td> 
     <td> <%= u.content%> </td> 
     <td> <%= link_to 'Show', u %> </td> 
     <td> <%= link_to 'Edit', edit_user_path(u) %> </td> 
     <td> <%= link_to 'Destroy', u, :method => :delete, :data => { :confirm => 'Are you sure?' } %> </td> 
    </tbody> 
</table> 

контроллер/users_controller.rb

class UsersController < ApplicationController 
    def index 
     @users=User.all 
    end 
    def create 
     @users=User.new(params[:users]) 
     if @users.save 
      flash[:notice]="User has created" 
      flash[:color]="valid" 
      redirect_to :action => 'index' 
     else 
      flash[:alert]="User couldnot created" 
      flash[:color]="invalid" 
      render 'index' 
     end 
    end 
end 
Смежные вопросы