2015-02-21 2 views
0

Rails 4.1, дойдя до водителя, знающего редактирование и использование _form.html.erb снова. Я попытался сделать следующее:Формы с маршрутами в Rails 4.1

<% = Form_for @user, :controller => "admin/users" do | f |%> 


<button type='submit'>Guardar</button> 

<% end %> 

#Controller ===============

def new 
    @user = User.new 
    end 




def create 
    @user = User.new(user_params) 
    respond_to do |format| 
     if @user.save 
      format.html { redirect_to admin_users_url, notice: "User #@user.name} was successfully created." } 
      format.json { render :controller => 'admin/users', action: 'show', status: :created, location: @user } 
     else 
      format.html { render :controller => 'admin/users', action: 'new' } 
      format.json { render json: @user.errors, status: :unprocessable_entity } 
     end 
    end 
    end 

Но это не работает, я могу не добираться до маршрута, который является моим контроллером («admin/users»), если кто-нибудь может мне помочь

+0

это как вложенный ресурс? вы могли бы разместить код контроллера и маршрутизацию –

ответ

0

Предполагаю, что у вас есть маршруты вашего администратора, определенные в вашем config/routes.rb следующим образом:

# in config/routes.rb 
namespace :admin do 
    resources :users 
end 

См: Rails Guide about namespaces in routes

Тогда это должно работать для администратора пространства имен формы в вашей точки зрения:

<%= form_for [:admin, @user] do |f| %> 
    ... 
<% end %> 

См: Rails Guide about namespaces and form helper

Ваш контроллер код выглядит хорошо, но, пожалуйста, убедитесь что контроллер также имеет место для имен:

# in app/controllers/admin/users_controller.rb 
module Admin 
    class UsersController 
    # ... 
    end 
end 
+0

Когда вы сохраняете запись, даже я не получаю путь к драйверу (admin/user_controller.rb) – jmfernandez

Смежные вопросы