我想将值从父控制器传递到子视图,或者理想情况下直接从父控制器渲染视图。
这是我的父控制器:
class SuperBlogPostsController < ApplicationController
def index(country)
if country == "AUSTRALIA"
@posts = AustraliaBlogPost.all
hash = { posts: @posts, featured_post: AustraliaBlogPost.find_by(featured_post: true) }
respond_to do |format|
format.html {render 'super_blog_post/index'}
format.json {render json: hash}
end
end
end
def show(country)
if country == "AUSTRALIA"
@post = AustraliaBlogPost.find(params[:id])
respond_to do |format|
format.html {render 'super_blog_post/show'}
format.json {render json: @post}
end
end
端
这是我的孩子:
class AustraliaBlogPostsController < SuperBlogPostsController
def index
super(country: 'AUSTRALIA')
end
def show
super(country: 'AUSTRALIA')
end
end
这是我得到的错误,即使我在网址末尾追加.json:
是否可以在父级中进行视图渲染,或者至少将父级生成的变量的返回值传递给子级?如果我一点都不清楚,请告诉我!
谢谢!
答案 0 :(得分:0)
您的父控制器方法接受普通参数,而不是named parameter。
而不是:
data[j]
你需要
super(country: 'AUSTRALIA')
但我必须说,你的控制器的整个逻辑并没有多大意义。