我正试图从我的模型中找到一种从我的视图中访问html元素的方法。
我正在尝试访问页面标题。在我看来,我有这个:
<% provide(:title, 'Baseline') %>
从我的模型来看,这是我最近的尝试:
def steps
if @title == 'Baseline'
%w[sfmfa phq whoqol_bref positive_negative ]
elsif @title == 'Treatment Completion'
%w[smfa phq ]
else
%w[]
end
end
我也试过使用params [:title],但是模型中没有识别params。这感觉就像一个非常愚蠢的问题,但我找不到直接的答案。
任何输入都将不胜感激。
如下所述,我错了。所以现在我正在尝试将正确的标识符从我的控制器传递给模型。
目前我对一页“基线”进行了分页。我试图允许在其他2页上进行分页。我只需要能够改变步骤中持有的数值。
我的旧“步骤”方法看起来像这样:
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 %>