2014-02-27 54 views
1

是在轨道上的红宝石新,请我想执行一个方法在我的控制器或在我的帮手,当我点击这个按钮,所以任何想法?红宝石轨上提交按钮

<%= button_to 'Export POINT', :action => :create_file_txt %> 

由于

+0

这是一个JavaScript的方法?您不能直接从浏览器运行Rails代码。您必须创建一个接受请求的控制器,然后您的按钮必须以某种方式调用此控制器操作。也许你应该更详细地描述你真正想做的事情。 –

+0

而不是指定一个按钮,请使用链接。 –

+0

在我index.html.erb <%= button_to '导出POINT',:控制器=> 'my_controller',:动作=> 'create_file_txt' %> 在my_contoller DEF create_file_txt 。 。 结束 init.rb 权限:view_button_exp,{:控制器=>:my_controller,:动作=>:create_file_txt}:需要=>:成员 这就是我做什么 –

回答

1

路线

button_to基本上是一个链接:

生成一个包含一个按钮用于提交由所述组选项创建的URL 一个形式。这是确保 链接导致数据更改的最安全方法,不会由搜索机器人 或加速器触发。作为的link_to文档中描述的方法 修改

你需要将它发送到route:如果HTML按钮不能在你的布局, 工作,你也可以考虑使用的link_to方法与

#config/routes.rb 
get "your_route", to: "controller#action" 

这会给你使用URL helpers定义路径&获得的能力按钮的工作:

<%= button_to 'Export POINT', your_route_path %> 

链接

按照该意见,你也将使用link_to这也受益于:

<%= link_to 'Export POINT', your_route_path %>