Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/54.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 如何使用页脚中的引导和传递参数在Rails中添加模式?_Ruby On Rails_Bootstrap Modal - Fatal编程技术网

Ruby on rails 如何使用页脚中的引导和传递参数在Rails中添加模式?

Ruby on rails 如何使用页脚中的引导和传递参数在Rails中添加模式?,ruby-on-rails,bootstrap-modal,Ruby On Rails,Bootstrap Modal,我有控制器动作: class UsersController < ApplicationController def new @user = User.new if params[:email] @email = params[:email] @user.email = @email end end def create @user = User.new(user_params) @user.save

我有控制器动作:

class UsersController < ApplicationController

  def new
    @user = User.new
    if params[:email]
      @email = params[:email]
      @user.email = @email
    end
  end

  def create
    @user = User.new(user_params)
    @user.save
    redirect_to root_path
  end

  private

  def user_params
    params.require(:user).permit(:name, :email)
  end
end
class UsersController
这是我的页脚中的表单(它在传递参数后就开始工作了) ->按钮div是引导程序:

        <%= form_tag new_user_path, class: "email-control", method: :get do %>
        <%= text_field_tag :email,
          params[:email],
          class: "email-bar",
          placeholder: "Type your email..."
        %>
        <div class="input-group-append">
          <button type="submit" class="button-sent" data-bs-toggle="modal" data-bs-target="#login-popup"><i class="far fa-paper-plane"></i></i></button>
        </div>
        <% end %>

但以下简单表格应该是一个模式,出现在我在邮件页脚中键入的每一页上:

<div class="login-container">
  <div class="row center-div">
    <div class="col-xs-12 col-sm-4 col-sm-offset-4">
      <div class="form-login">
        <h2>Send me Newsletters</h2>
        <%= simple_form_for(@user) do |f| %>
          <div class="form-inputs">
            <%= f.input :name, required: false, autofocus: true %>
            <%= f.input :email, required: false %>
          </div>
          <div class="form-actions">
            <%= f.button :submit, "⤏Submit⤎", class: "email-control " %>
          </div>
        <% end %>
      </div>
    </div>
  </div>
</div>

给我发通讯
在浏览本页时: 我可以看到:我猜JS不工作了? 我还认为问题在于,我的控制器操作只能通过new.html.erb视图显示为红色,因此任何其他页面都无法访问?
非常感谢您的帮助。

嘿,维塔,请您再详细说明一下:发生了什么事?什么事情没有发生?我不确定模态是否根本没有出现,或者它是否不工作?:)用于切换模式的按钮位于新用户的窗体内。因此,当您单击该按钮时,它将提交表单并重定向您,因此您的模式将立即关闭。不使用表单,您只需使用remote true链接到
新用户路径
。@Hackman但将表单标记更改为链接到:email参数时,将无法通过。有没有办法打开模式,并且电子邮件已经预填好了?@tomr你好,谢谢你的回答!Bootstrap根本不起作用,但当我关注此页面(请参见上面编辑的问题)时,问题是我无法呈现new.html.erb,因为它不是一个部分(而是来自用户新操作的视图)。现在更清楚了吗?Thxy您可以使用一些javascript来实现这一点。在modal open上,您抓取电子邮件字段值并将其放在modal email字段中。嘿,Witta,请您详细说明一下:发生了什么?什么事情没有发生?我不确定模态是否根本没有出现,或者它是否不工作?:)用于切换模式的按钮位于新用户的窗体内。因此,当您单击该按钮时,它将提交表单并重定向您,因此您的模式将立即关闭。不使用表单,您只需使用remote true链接到
新用户路径
。@Hackman但将表单标记更改为链接到:email参数时,将无法通过。有没有办法打开模式,并且电子邮件已经预填好了?@tomr你好,谢谢你的回答!Bootstrap根本不起作用,但当我关注此页面(请参见上面编辑的问题)时,问题是我无法呈现new.html.erb,因为它不是一个部分(而是来自用户新操作的视图)。现在更清楚了吗?Thxy您可以使用一些javascript来实现这一点。在模式打开时,您抓取电子邮件字段值并将其放入模式电子邮件字段中。