gpt4 book ai didi

ruby-on-rails - 将参数传递给 link_to rails 2

转载 作者:太空宇宙 更新时间:2023-11-03 16:09:43 27 4
gpt4 key购买 nike

我写了下面的表格:

<% remote_form_for :login,
:url => {:controller => :usuarios, :action => :login },
:html => { :multipart => true } do |f| %>
<p class="login_field">
Login:<br />
<%= f.text_field 'login' %>
</p>
<p class="login_field">
Clave:<br />
<%= f.password_field 'clave' %>
</p>
<br />
<p align ="right">
<%= f.submit 'Ingresar' %>
</p>
<p class="forgot">
<%= link_to "Olvid&oacute su clave?", { :controller => 'usuarios', :action => 'olvido_contrasena', :login => }, :post => true %>
</p>
<br />
<p id="error_msg_login"></p>
<% end %>

现在,在我的 Controller 中我有:

def olvido_contrasena
if request.post?
u= Usuario.find_by_login(params[:login][:login])
puts u.email
if u and u.enviar_nueva_clave
flash[:message] = "Una nueva clave ha sido enviada a su correo electronico."
redirect_to :action=>'login'
else
flash[:warning] = "No se pudo enviar la nueva clave."
puts "fail"
redirect_to "/admin_main"
end
end
end

但是,我有两个问题:

  1. 该操作称为 GET(它应该是 POST)。
  2. 没有发送参数[:login][:login]....

我可以在这里做什么?

谢谢!

我通过在用户单击“忘记密码”链接后添加带有新表单的新 View 来解决我的问题。最简单、最干净的解决方案。

最佳答案

基本上 -

您正在单击链接,该链接不会提交您创建的表单,但“提交”按钮可以提交它。

当您单击链接时,这将发送 GET 请求。如果您想发送带有表单数据的 post 请求,您可以使用 javascript 事件监听器在单击链接时提交表单。

由于未提交表单,您将获得 login[login] 为 nil。

要使用 javascript 提交表单,您将使用 jquery 执行类似的操作 -

$(".linkClass").click(function(event){
event.preventDefault(); //This will stop get request.

$("#formId").submit();
})

关于ruby-on-rails - 将参数传递给 link_to rails 2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6430843/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com