从视图调用控制器操作而不更改页面
Posted
技术标签:
【中文标题】从视图调用控制器操作而不更改页面【英文标题】:Calling a Controller Action from View without changing page 【发布时间】:2013-06-26 18:03:49 【问题描述】:我想从我的视图中调用控制器操作。 我的操作称为导出,本质上我只想将一些数据导出到我已经为其编写方法的 csv 文件。但是,当我单击此链接时,我不希望我页面上当前的任何内容发生变化。这样做的最佳方法是什么?
【问题讨论】:
【参考方案1】:使用csv_builder 生成 csv。向控制器操作发出 get 请求,并让操作响应 csv 格式
例如。
def action1
respond_to do |format|
format.csv do
@filename = "filename.csv"
@output_encoding = 'UTF-8'
@csv_options = :col_sep => ','
end
end
end
您需要有一个名为 action1.csv.csvbuilder 的视图文件
【讨论】:
我已经编写了一个方法,可以以我想要的格式解析我的数据。我有一个哈希数组,所以我希望能够调用我的方法 那你就可以format.csv render :text => <your data>
以上是关于从视图调用控制器操作而不更改页面的主要内容,如果未能解决你的问题,请参考以下文章
iiview 甲板控制器在呈现模态视图时更改框架而不更改界面方向