Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 无法重定向到Desive registrations controller中的自定义操作_Ruby On Rails_Ruby_Ruby On Rails 3_Devise - Fatal编程技术网

Ruby on rails 无法重定向到Desive registrations controller中的自定义操作

Ruby on rails 无法重定向到Desive registrations controller中的自定义操作,ruby-on-rails,ruby,ruby-on-rails-3,devise,Ruby On Rails,Ruby,Ruby On Rails 3,Devise,请原谅我的问题 我有一个Desive用户模型,我想在用户登录/注册后将其他数据保存到用户模型中 routes.rb devise_for :users, path: '', path_names: {sign_in: 'login', sign_out: 'logout',sign_up: 'signup'}, controllers: { registrations: 'registrations devise_sco

请原谅我的问题

我有一个Desive用户模型,我想在用户登录/注册后将其他数据保存到用户模型中

routes.rb

     devise_for :users,
        path: '',
        path_names: {sign_in: 'login', sign_out: 'logout',sign_up: 'signup'},
        controllers: { registrations: 'registrations

        devise_scope :user do 
             match 'users/customer' => 'registrations#customer', :via => [:get], :as => 'customer'
             match 'users/theme-selector' => 'registrations#theme_selector', :via => [:get], :as => 'theme-selector'
        end 
注册\u controller.rb

   class RegistrationsController < Devise::RegistrationsController

    protect_from_forgery :except => :create

      def customer
      @user = current_user

    if @user
       render :customer
     # render :customer
     # redirect_to controller: 'registations', action: 'theme_selector'


        else
            render file: 'public/404', status: 404, formats: [:html]
         end   


  end



    def theme_selector
         @user = current_user
            if @user
                render :theme_selector
            else
                render file: 'public/404', status: 404, formats: [:html]
             end 


       end 

       end
      end 
类注册控制器:创建
def客户
@用户=当前用户
如果@user
渲染:客户
#渲染:客户
#重定向到控制器:“注册”,操作:“主题选择器”
其他的
呈现文件:“public/404”,状态:404,格式:[:html]
结束
结束
主题选择器
@用户=当前用户
如果@user
渲染:主题选择器
其他的
呈现文件:“public/404”,状态:404,格式:[:html]
结束
结束
结束
结束
customer.html.erb

 <div class="container huge-top small-bottom"">
  <div class="row large-top">
    <div class="col-md-8">
    <%= form_for(resource, as: resource_name, url: registration_path(resource_name), html: { method: :put }) do |f|  %>

 <div class="form-group">
    <%= f.label :"Contact Person" %>
    <%= f.text_field :contact, class:"form-control" %>
  </div>
  <div class="form-group">
    <%= f.label :"Business Name" %>
    <%= f.text_field :name, class:"form-control" %>
  </div>
  <div class="form-group">
    <%= f.label :phone %>
    <%= f.text_field :phone, class:"form-control" %>
  </div>
   <div class="form-group">
    <%= f.label :email %>
    <%= f.text_field :email, class:"form-control", required: true %>
  </div>
  <div class="form-group">
    <%= f.label :"Mailing Address" %>
    <%= f.text_field :address, class:"form-control" %>
  </div>
   <div class="form-group">
    <%= f.label :"Do you currently have a domain?" %>
    <%= f.text_area :domain, class:"form-control" %>
  </div>
   <div class="col-md-5">
   <!--%= f.submit '+', :name => "add_additional_fields" %-->
    <span><%= f.submit 'Save', class: "btn btn-success" %></span>
<span><!--%= link_to 'Back', customers_path, class: "btn btn-danger" %--></span>
  </div>

  </div>
  </div>
  <% end %>
  <%= form_for(resource, as: resource_name, url: registration_path(resource_name), html: { method: :put }) do |f|  %>
   <div class="row">
   <div class="col-md-4 col-sm-4 top-space">
      <!-- thumbnail-->
      <div class="thumbnail image-height">
        <a href="http://theme1./" target="_blank">
          <div class="hovereffect">
            <img src="/assets/1.jpg" class="img-responsive theme" alt="">

              <div class="price-sale"><img src="/assets/new.png"></div>

          </div>  
          <div class="caption">
            <h4>Click Here</h4>
            <!--p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Facere, soluta, eligendi doloribus sunt minus amet sit debitis repellat. Consectetur, culpa itaque odio similique suscipit</p-->
            <p><button class="btn-update" role="button">View</button></p>
          </div>
        </a>  
      </div>
      <div><%= f.radio_button :theme_id, 'theme-1' %> </div>
    <!-- thumbnail end -->
    </div>   
    <div class="col-md-4 col-sm-4 top-space">
      <!-- thumbnail-->
      <div class="thumbnail image-height">
        <a href="http://theme2/" target="_blank">
          <div class="hovereffect">
            <img src="/assets/2.jpg" class="img-responsive theme" alt="">

              <div class="price-sale"><img src="/assets/new.png"></div>

          </div>  
          <div class="caption">
            <h4>Click Here</h4>
            <!--p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Facere, soluta, eligendi doloribus sunt minus amet sit debitis repellat. Consectetur, culpa itaque odio similique suscipit</p-->
            <p><button class="btn-update" role="button">View</button></p>
          </div>
        </a>  
      </div>
      <div><%= f.radio_button :theme_id, 'theme-1' %> </div>
    <!-- thumbnail end -->
    </div>
     <div class="row">
 <div class="col-md-12 top-space"><%= f.submit 'Submit', class: "btn-addmore" %></div>
 </div>
 <% end %>
将是:

在您的
config/routes.rb中

devise_for :users,
    path: '',
    path_names: {sign_in: 'login', sign_out: 'logout',sign_up: 'signup'},
    controllers: { registrations: 'registrations}

    devise_scope :user do 
        get 'users/theme-selector' => 'registrations#theme_selector', :as => 'theme-selector'
class RegistrationsController < Devise::RegistrationsController
  protected

  def after_sign_up_path_for(resource)
    'users/theme-selector'
  end
end
在您的
注册中\u controller.rb

devise_for :users,
    path: '',
    path_names: {sign_in: 'login', sign_out: 'logout',sign_up: 'signup'},
    controllers: { registrations: 'registrations}

    devise_scope :user do 
        get 'users/theme-selector' => 'registrations#theme_selector', :as => 'theme-selector'
class RegistrationsController < Devise::RegistrationsController
  protected

  def after_sign_up_path_for(resource)
    'users/theme-selector'
  end
end
类注册控制器
对你有用吗?迈克尔,谢谢你的快速回复。我很抱歉没有把我的问题说清楚。实际上步骤是:1.用户注册或登录。2.用户选择customer按钮,该按钮呈现customer.html.erb 3.提交客户表单后,必须重定向到主题选择器页面。@确定此表单不是表单中的注册/签名?