Rails 3:如何从另一个控制器的视图中呈现动作

时间:2011-04-29 12:03:00

标签: ruby-on-rails controller action render

我正试图从另一个控制器的视图中调用一个动作:

控制器Countries有一个名为selectbox的操作,它会将所有国家/地区的html选择框生成为部分内容。
控制器Customers有一个名为new的操作,它为所有客户属性生成一个html表单。我想在此表单中插入Countries#selectbox的选择框。

实现这一目标的正确方法是什么?

2 个答案:

答案 0 :(得分:2)

你做错了。如果有一段要重用的代码(例如html selectbox生成),则应将其放在帮助器中和/或使用partial来呈现html selectbox部分。

请记住,如果代码有点复杂(例如,超过一行或两行),这只是一个好建议。这是我在谷歌搜索时发现的一个帖子,可以帮助你:helper or partial

答案 1 :(得分:1)

对于你正在做的事情,将代码提取到helper方法是正确的方法。但是,如果您仍想使用其他操作,则可以使用官方Rails插件:

https://github.com/rails/render_component