Ruby on rails 在RoR中显示来自其他控制器的内容
我有一个问题:我想在post视图中显示图像。我有以下控制器:Ruby on rails 在RoR中显示来自其他控制器的内容,ruby-on-rails,ruby,ruby-on-rails-4,Ruby On Rails,Ruby,Ruby On Rails 4,我有一个问题:我想在post视图中显示图像。我有以下控制器: # posts_controller.rb class PostsController < ApplicationController before_action :set_post, only: [:show] # GET /posts # GET /posts.json def index if params[:search] @posts = Post.search(params[:s
# posts_controller.rb
class PostsController < ApplicationController
before_action :set_post, only: [:show]
# GET /posts
# GET /posts.json
def index
if params[:search]
@posts = Post.search(params[:search]).order("created_at DESC")
else
@posts = Post.all.order('created_at DESC')
end
end
# GET /posts/1
# GET /posts/1.json
def show
end
private
# Use callbacks to share common setup or constraints between actions.
def set_post
@post = Post.find_by_slug(params[:id])
end
# Never trust parameters from the scary internet, only allow the white list through.
def post_params
params.require(:post).permit(:titulo, :slug, :texto, :imagem)
end
end
#posts_controller.rb
类PostsController<应用程序控制器
操作之前:设置发布,仅:[:显示]
#获取/发布
#GET/posts.json
def索引
如果参数[:搜索]
@posts=Post.search(参数[:search]).order(“在描述时创建”)
其他的
@posts=Post.all.order('created_at DESC')
结束
结束
#获取/posts/1
#GET/posts/1.json
def秀
结束
私有的
#使用回调在操作之间共享公共设置或约束。
def set_柱
@post=post.find\u by_slug(参数[:id])
结束
#永远不要相信来自恐怖网络的参数,只允许白名单通过。
def post_参数
参数require(:post).permit(:titulo,:slug,:texto,:imagem)
结束
结束
及
#imgs_controller.rb
类ImgsController<应用程序控制器
操作前:设置\u img,仅:[:显示]
#GET/imgs
#GET/imgs.json
def索引
@imgs=Img.all
结束
#GET/imgs/1
#GET/imgs/1.json
def秀
结束
私有的
#使用回调在操作之间共享公共设置或约束。
def设置
@img=img.find(参数[:id])
结束
#永远不要相信来自恐怖网络的参数,只允许白名单通过。
def img_参数
参数要求(:img).允许(:imagem,:nome,:descripcao,:to_幻灯片)
结束
结束
如何在视图/posts/index.html.erb中调用ImgsController的方法“index”和/或“show”?有办法吗?当然,您可以渲染任何模板文件:
render "posts/show" # or index
我假设您拥有同时使用这两个或两个控制器变量的逻辑。当然,您可以呈现任何模板文件:
render "posts/show" # or index
我假设您的逻辑可以同时处理两个或两个控制器变量。否
如果要在post视图中渲染图像,应在posts\U控制器中提供这些资源
我想你有一种类似的联想
class Post
has_many :images
end
所以你可以这样做:
# posts/index.html.erb
<% @posts.each do |post| %>
<p><%= post.name %></p>
<% @post.images.each do |img|
<p><%= img.name %></p>
<% end %>
<% end %>
#posts/index.html.erb
没有
如果要在post视图中渲染图像,应在posts\U控制器中提供这些资源
我想你有一种类似的联想
class Post
has_many :images
end
所以你可以这样做:
# posts/index.html.erb
<% @posts.each do |post| %>
<p><%= post.name %></p>
<% @post.images.each do |img|
<p><%= img.name %></p>
<% end %>
<% end %>
#posts/index.html.erb
所有的答案都帮助我找到了解决办法。
我读了本杰明·辛克莱说的指南
我所需要做的就是
@imgs = Img.all
在PostsController的方法“索引”中
因此,我在views/posts/index.html.erb中调用了@imgs
简单
谢谢 所有的答案都帮助我找到了解决办法。
我读了本杰明·辛克莱说的指南
我所需要做的就是
@imgs = Img.all
在PostsController的方法“索引”中
因此,我在views/posts/index.html.erb中调用了@imgs
简单
谢谢 最佳起点是Rails导轨:最佳起点是Rails导轨: