从两个不同的link_to按钮访问RoR控制器

时间:2016-02-11 06:09:34

标签: ruby-on-rails-4 model-view-controller link-to

我有一个控制器,可以从两个不同的导航栏链接访问新操作。原因是两个不同的功能需要相同的控制器。 如何通过一些参数使控制器知道从哪个link_to访问它? (这样我可以稍微修改new.html.erb文件)

1 个答案:

答案 0 :(得分:0)

由于正在呈现控制器的new操作,这意味着您必须呈现表单。在这种形式下,您可以传递一个隐藏字段,如下所示:

<%= f.hidden_field :value_name, :value => "true" %>

现在,在您的控制器的create操作中,您可以在保存之前进行检查:

def create
 if params[:model_name][:value_name] == true
   # then it must have come from first nav link,hence save that
else  
  # the value has come from the other nav.
end
end

当您点击第二个导航链接时,您还必须设置值false,如下所示:

<%= link_to "ABC", resource_path(:value_name => "false") %>

希望有所帮助。