Ruby on rails RubyonRails:将参数传递给视图

Ruby on rails RubyonRails:将参数传递给视图,ruby-on-rails,ruby,routes,params,Ruby On Rails,Ruby,Routes,Params,当用户在我的Rails应用程序中请求url/mobile时,我希望在请求后加载的url中自动附加一个参数(类似于/mobile?tree_width=5) 我试过一些方法,但都不奏效 我得到的最接近的信息是我的控制器: def mobile respond_to do |format| format.html{ # pass tree width here render mobile_project_steps_pa

当用户在我的Rails应用程序中请求url/mobile时,我希望在请求后加载的url中自动附加一个参数(类似于
/mobile?tree_width=5

我试过一些方法,但都不奏效

我得到的最接近的信息是我的控制器:

  def mobile
    respond_to do |format|
        format.html{
             # pass tree width here
             render mobile_project_steps_path(@project, :tree_width => @project.tree_width)
        }        
    end
  end
我发现了错误

Missing template /projects/8/steps/mobile?tree_width=5 
但我认为根据我的rake路线,这条路径应该存在:

mobile_project_steps GET      /projects/:project_id/steps/mobile(.:format)                    steps#mobile

如何将参数从控制器添加到URL?

您需要检查参数是否丢失,以及是否使用额外的参数重定向到当前操作。我会在行动前把它挤进去:

  before_action :check_tree_width, only: :mobile

  def mobile
    # Your actual logic
  end

  private

  def check_tree_width
    redirect_to(tree_width: @project.tree_width) unless params[:tree_width].present?
  end

您需要检查参数是否丢失,以及是否使用额外的参数重定向到当前操作。我会在行动前把它挤进去:

  before_action :check_tree_width, only: :mobile

  def mobile
    # Your actual logic
  end

  private

  def check_tree_width
    redirect_to(tree_width: @project.tree_width) unless params[:tree_width].present?
  end

您需要检查参数是否丢失,以及是否使用额外的参数重定向到当前操作。我会在行动前把它挤进去:

  before_action :check_tree_width, only: :mobile

  def mobile
    # Your actual logic
  end

  private

  def check_tree_width
    redirect_to(tree_width: @project.tree_width) unless params[:tree_width].present?
  end

您需要检查参数是否丢失,以及是否使用额外的参数重定向到当前操作。我会在行动前把它挤进去:

  before_action :check_tree_width, only: :mobile

  def mobile
    # Your actual logic
  end

  private

  def check_tree_width
    redirect_to(tree_width: @project.tree_width) unless params[:tree_width].present?
  end

你的意思是
redirect\u to
而不是
render
?@BroiSatse如果我使用redirect\u to,我会得到一个重定向循环,因为你需要一个条件,会在一秒钟内写出答案。你的意思是
redirect\u to
而不是
render
?@BroiSatse如果我使用redirect\u to,我会得到一个重定向循环,因为你需要一个条件,将在一秒钟内写出答案。你是想
重定向到
而不是
渲染
?@BroiSatse如果我使用redirect\u to,我会得到一个重定向循环因为你需要一个条件,将在一秒钟内写出答案。你是想
重定向到
而不是
渲染
?@BroiSatse如果我使用redirect\u to,我得到一个重定向循环,因为你需要一个条件,我会在一秒钟内写一个答案。