我有一个边栏将会有一些逻辑,类似于视图如何与控制器交谈。我在哪里把逻辑放在部分?我是否为布局创建了一个新的控制器并将其放置在那里?在导轨上的红宝石在布局中的部分逻辑
布局用于登录用户,如仪表板。 仪表板将会有一个边栏,在每个页面上显示相同的动态内容。 因为它被显示在每一页上,我想把它放在一个部分。
我只是困惑在哪里把发现和所有的信息。
我有一个边栏将会有一些逻辑,类似于视图如何与控制器交谈。我在哪里把逻辑放在部分?我是否为布局创建了一个新的控制器并将其放置在那里?在导轨上的红宝石在布局中的部分逻辑
布局用于登录用户,如仪表板。 仪表板将会有一个边栏,在每个页面上显示相同的动态内容。 因为它被显示在每一页上,我想把它放在一个部分。
我只是困惑在哪里把发现和所有的信息。
也许有更好的方法来做到这一点,但如果它是在大多数或所有页面上,你可以在你的ApplicationController上创建一个before_filter。您必须在不需要数据的控制器/操作上调用skip_before_filter
。
class ApplicationController < ActionController::Base
before_filter :load_sidebar_data
protected
def load_sidebar_data
end
end
如果你不需要它在大多数页面上你还是会把该方法在ApplicationController中,你只是过滤器之前添加在你需要它。
将部分放在布局文件夹中。该文件的名称应以下划线开头例如,“_mypartial.html.erb”。
然后,在你的意见,使用下面的代码,包括部分
“mypartial”%>注意,指定哪些部分来呈现,当你不包括嵌入式Ruby代码的下划线。
您可以考虑使用单元格(视分量为Rails):http://cells.rubyforge.org/
安迪,你一直对我巨大的帮助这两天!谢谢! – Ryan 2009-08-21 18:04:28
我有一个侧边栏,除了主页以外的所有页面上都是相同的,我使用这段代码抓取所需的数据 - 现在我想知道在哪里放置实际视图脚本代码的正确位置? – jackocnr 2012-10-30 19:21:37