Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.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
RubyonRails:从模型访问HTML元素_Html_Ruby On Rails_Model - Fatal编程技术网

RubyonRails:从模型访问HTML元素

RubyonRails:从模型访问HTML元素,html,ruby-on-rails,model,Html,Ruby On Rails,Model,我正试图找到一种方法,从我的模型中的视图访问html元素 我正在尝试访问页面标题。在我看来,我有以下看法: <% provide(:title, 'Baseline') %> 我还尝试使用params[:title],但在模型中无法识别params。这感觉像是一个非常愚蠢的问题,但我还没有找到一个直截了当的答案 如有任何意见,将不胜感激 编辑添加更多细节。 正如下面提到的,我错了。因此,现在我试图将正确的标识符从控制器传递到模型 目前我有一个页面的分页,“基线”。我试图允许在另外两

我正试图找到一种方法,从我的模型中的视图访问html元素

我正在尝试访问页面标题。在我看来,我有以下看法:

<% provide(:title, 'Baseline') %>
我还尝试使用params[:title],但在模型中无法识别params。这感觉像是一个非常愚蠢的问题,但我还没有找到一个直截了当的答案

如有任何意见,将不胜感激

编辑添加更多细节。 正如下面提到的,我错了。因此,现在我试图将正确的标识符从控制器传递到模型

目前我有一个页面的分页,“基线”。我试图允许在另外两页上分页。我只需要能够改变分步持有的价值

我以前的“步骤”方法如下所示:

subject.rb

def steps
     %w[sfmfa ...]
end
以下是使用的步骤:

   def current_step
    @current_step || steps.first
   end

   def next_step
    self.current_step = steps[steps.index(current_step)+1]
   end

   def previous_step
    self.current_step = steps[steps.index(current_step)-1]
   end

   def first_step?
    current_step == steps.first
   end

   def last_step?
    current_step == steps.last
   end
因此,我想我的新方法可能看起来像这样,我从控制器传递参数:

def steps(title)
 if title == 'Baseline'
     %w[sfmfa ...]
 elsif title == 'Other'
     %w[sma ...]
 else
     #Shouldnt get here
 end
此外,以下是我的视图呈现步骤的方式:

<%= render "base_#{@subject.current_step}", :f => f %>
f%>

我不确定这是否可行,但这是一个坏主意,不管怎样,您的模型应该不知道它正在渲染的视图。如果您需要基于该状态的不同步骤,您可以使用控制器将状态发送到模型(以及视图)。您可以概述一下您正在尝试执行的操作吗?特别是,由
步骤返回的数组用于什么?有关多步骤表单的更多信息,请查看模型中的步骤是什么?这看起来像控制器逻辑。谢谢你,杜恩。幸运的是,我的多步骤表单实际上运行得很好,只是我有多个多步骤表单-我需要一种方法来区分它们。
<%= render "base_#{@subject.current_step}", :f => f %>