我有一个主标签“类别”。此选项卡还有两个选项卡,分别是“问题”和“答案”。我创建了CategoryController
,在其中定义了两个动作,名称分别为“问题”和“答案”。我有一个私密的方法category_type
,该方法应根据选择的选项卡(“问题”或“答案”)采用category_type。该方法将在控制器的操作中调用。我已经在视图中创建了这些标签,并且还添加了路线。如何将从视图中选择的选项卡传递给此方法?
我为这些选项卡创建了一个局部并将其呈现在主页上。
_tabs.html.haml
#secondary-slider.pills-container %span = link_to 'Questions', question_category_path, class: @selected_tab[:question] %span = link_to 'Answers', answer_category_path, class: @selected_tab[:answer]
控制器的动作:
def question @selected_tab = { category_type => :selected } end alias :question :answer private def category_type @category_type = :question end
我希望从视图中传递参数,而不是像上面给定的那样通过:question
或:answer
传递category_type,即如果选择了question
标签,则应该将@category_type
与question
一起传递,否则,如果选择了answer
标签,则应在category_type
中传递。
如何实现?我曾想过要传递'params()',但无法弄清楚括号中应传递的内容。
谢谢。
答案 0 :(得分:0)
您可以如下通过question_category_path
从视图传递类别类型,
question_category_path(category: 'question')
类似,answer_category_path
并以params[:category]
的身份访问选择的类型