css - 将 RoR 注册脚本添加到引导模式中

标签 css ruby-on-rails ruby bootstrap-modal

所以我正在尝试在 Bootstrap Modal 中创建一个注册脚本 但它失败了。

相同的脚本在其 won 的页面上工作,只是不确定为什么它在这里不起作用。

使用 bootstrap 有什么特别之处吗?

这是错误:Rails Error

模态内容如下

    <div class="modal fade" id="register-modal" tabindex="-1">
  <div class="modal-dialog">
    <div class="modal-content">
      <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
        <h4 class="modal-title">Register</h4>
      </div>
       <%= form_for(@user) do |f| %>
        <div class="modal-body">
          <div class="form-group">
            <label for="inputEmail" class="col-sm-2 control-label">Email</label>
            <div class="col-sm-10">
              <%= f.text_field :first_name, :placeholder => "First name" %>
            </div>
          </div>
          <div class="form-group">
            <label for="inputPassword" class="col-sm-2 control-label">Password</label>
            <div class="col-sm-10">
              <%= f.text_field :last_name, :placeholder => "Last name" %>                </div>
          </div>
          <div class="form-group">
            <label for="inputPassword" class="col-sm-2 control-label">Password</label>
            <div class="col-sm-10">
               <%= f.email_field :email, :placeholder => "Email" %>
            </div>
          </div>

      <div class="form-group">
        <label for="inputPassword" class="col-sm-2 control-label">Password</label>
        <div class="col-sm-10">
          <%= f.password_field :password, :placeholder => "Password" %>
        </div>
      </div>
    <div class="modal-footer">
      <%= f.submit "Create an account", class: "btn btn-primary btn-submit" %>
    </div>
  <% end %>
</div>

这是我的用户 Controller

class UsersController < ApplicationController

  def new
    @user = User.new
  end
end

和用户模型

class User < ApplicationRecord

   has_secure_password

end

最后是我的用户的 db:migrate 文件

class CreateUsers < ActiveRecord::Migration
  def change
    create_table :users do |t|
      t.string :first_name
      t.string :last_name
      t.string :email
      t.string :password_digest

      t.timestamps
    end
  end
end

还有一点是我的路线

Rails.application.routes.draw do
  root 'home#index'

  get 'signup' => 'users#new'
  resources :users
end

最佳答案

在 Ruby 中你可以引用一个实例变量,即使它还没有被初始化:

irb(main):001:0> @foo
=> nil

这正是这里发生的事情。如果你想在一堆 Action 上使用相同的表单而不用担心 Controller 是否设置了 @user 实例变量,你可以只使用 || (或) 运算符(operator):

<%= form_for(@user || User.new) do |f| %>
   # ...
<% end %>

关于css - 将 RoR 注册脚本添加到引导模式中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42079836/

相关文章:

html <hr> 标签奇怪显示

ruby - irb 未启动

ruby - 如何使用 Nokogiri 选择表格行?

ruby-on-rails - rails : difference between attr_accessor and attr_accessible

jquery - CSS 折叠/展开 div

javascript - 如何创建一个 <embed> svg 按钮?

jquery - 仅选择下拉列表中的父元素以获取 jquery 悬停功能

ruby-on-rails - 我在apache中使用乘客的rails时遇到403错误

ruby-on-rails - Rails 必须并且属于许多正确的 Rails 协会吗?

java - 构建通过 pop3 拉取 emai 的 Web 邮件客户端时存在哪些类型的编码/图像/格式问题