【发布时间】:2010-08-02 23:37:36
【问题描述】:
这里是 Rails 新手
我的控制器中有 2 个操作 1)索引 2)refine_existing。 它们都以相同的格式显示结果。 如何重用 index.html.erb 文件?
当我尝试以下操作时,它抱怨没有出现细化_existing.erb。
def refine_existing
...
respond_to do |format|
format.html # index.html.erb
format.xml { render :xml => @results }
end
结束
我的索引操作看起来像这样
def index
#some logic to get @results
#set some session variables etc.
respond_to do |format|
format.html # index.html.erb
format.xml { render :xml => @results }
end
end
我是否必须重构我的索引视图以包含部分
a) 制作标题
b) 渲染@results
并重复使用它们?
即使 index.html.erb 和 refine_existing.html.erb 看起来完全一样
我有什么办法可以在我的优化现有操作中使用 index.erb 视图吗?
提前致谢
【问题讨论】:
-
# index.html.erb只是一个评论,供您查看。我不喜欢它,因为剪切和粘贴常见的respond_to do ... end块很可能会带来错误的文件名以及format.html。如果index和refine_existing相同,也许你可以从一个重定向到另一个。 -
重定向到索引的问题是它重新执行代码以获取索引中的@results并覆盖refine_existing中的记录。
标签: ruby-on-rails views