如何创建将执行Application Helper方法的链接(或按钮)?

时间:2012-07-06 22:07:06

标签: ruby-on-rails ruby-on-rails-3 link-to

我是 ruby​​ / rails 的新手,并尝试创建将在会话中更新变量的链接。我在application_helper.rb--中定义了以下方法我把它放在这里希望这是正确的地方,以便它可以用于所有的所有视图:

module ApplicationHelper

  def add_workspace_to_session(workspace_id)
    session[:workspace_id] = workspace_id 
  end

end

在视图中,我想创建一个简单的链接(或按钮),它将调用此帮助程序,传入工作区ID,以便更新session[:workspace_id]。如何在视图中创建此链接?使用link_to?我错过了什么......与路线有关?

谢谢!

1 个答案:

答案 0 :(得分:2)

如果要创建按钮或链接,则应指向url路径,而不仅仅是帮助方法。快速解决此问题的方法是添加辅助方法的路径。

注意:我没有通过传递参数来测试它。

    def add_workspace_to_session(workspace_id, url)
      session[:workspace_id] = workspace_id 
      url 
    end 

<%= button_to "Store Workspace", add_workspace_to_session(workspace_id, root_path), :method => :get %>