【问题标题】:How to Pass incoming params with redirect_to?如何使用redirect_to 传递传入参数?
【发布时间】:2011-03-20 02:03:41
【问题描述】:

我是 Ruby On Rails (3) 的新手。使用 Get 和 Post,我正在尝试创建一个简单的登录功能。 提交登录凭据后,我在控制器中编写了以下代码,

默认登录 @title = "测试登录"

 if request.post? and params[:user]
   @user = User.new(params[:user])
   user = User.find_by_username_and_password(@user.username , @user.password)

if user
   session[:user_id] = user.id
   flash[:notice] = "User #{user.username} logged in!"

   redirect_to :action => "index" , :username => params[:username]

问题出在这里,我想打印在用户名文本字段中输入的名称。 因此,我将它与参数一起重定向到索引。请帮帮我,让我的语法正确,以便使用 redirect_to 将用户名参数传输到索引。

【问题讨论】:

  • 完全没有错误!!它只是显示用户名..这就是我试图在 index.html.erb 中显示它的方式。 >> 文件

标签: ruby-on-rails-3


【解决方案1】:

应该可以的。

代码是否给你一个错误?


根据数据更新。

我想我知道发生了什么。这就是您尝试显示它的方式。

首先在您的索引方法中,您需要一行,例如

@username = params[:username]

@username 将使变量可用于您的 index.html.erb 文件,因为它成为控制器的实例变量。

在 index.html.erb 中

Welcome Back <%= @usename %>

应该可以的。

【讨论】:

  • 日志显示什么?或者,如果您从 rails 运行服务器,那么会显示什么?
  • 完全没有错误!!它只显示 > username 这就是我试图在 index.html.erb 文件中显示它的方式
  • SERVER LOG >>>> UserController#index 作为 HTML 参数处理:{"username"=>"agent1"}
  • 这就是它在日志中读取的内容。它正确地传递了输入的名称“agent1”。但显示用户名。
  • 更新了答案。我认为这是您在 erb 文件中进行显示的方式,当然还要确保该变量对其可用。
猜你喜欢
  • 2011-10-25
  • 1970-01-01
  • 2010-11-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-10
相关资源
最近更新 更多