从应用程序布局调用控制器操作
我的帖子/索引视图中有此代码:
-tag_cloud(@tags, %w(css1 css2 css3 css4)) do |tag, css_class|
= link_to tag.name, { :action => :tag, :id => tag.name }, :class => css_class
这是我的控制器:
def index
@posts = Post.page(params[:page]).per(5)
tag_cloud
respond_to do |format|
format.html # index.html.erb
format.xml { render :xml => @posts }
end
end
def tag
@posts = Post.tagged_with(params[:id]).page(params[:page]).per(5)
@tags = Post.tag_counts_on(:tags)
render :template => 'posts/index'
end
def tag_cloud
@tags ||= Post.tag_counts_on(:tags)
end
我想将标签云从索引视图移动到应用程序布局,但我不知道如何从那里调用控制器操作方法。
另外,我怀疑这个MVC安全吗?有什么建议请。
我正在使用 gem 'acts-as-taggable-on'
I have this code in my posts/index view:
-tag_cloud(@tags, %w(css1 css2 css3 css4)) do |tag, css_class|
= link_to tag.name, { :action => :tag, :id => tag.name }, :class => css_class
This is my controller:
def index
@posts = Post.page(params[:page]).per(5)
tag_cloud
respond_to do |format|
format.html # index.html.erb
format.xml { render :xml => @posts }
end
end
def tag
@posts = Post.tagged_with(params[:id]).page(params[:page]).per(5)
@tags = Post.tag_counts_on(:tags)
render :template => 'posts/index'
end
def tag_cloud
@tags ||= Post.tag_counts_on(:tags)
end
I want to move tag cloud from index view to the application layout, but I don't know how to call controller action method from there.
Also, I'm in doubt, is this MVC safe? Any advices please.
I'm using gem 'acts-as-taggable-on'
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
将 tag_cloude 的代码移至
ApplicationHelper
,然后您可以在应用程序布局中使用它<%= tag_cloud %>
。Move the code of tag_cloude
to the
ApplicationHelper
then you can use it<%= tag_cloud %>
in your layout of the application.