我在控制器中定义了一个这样的方法。
def index
end
def show
end
def new
end
def edit
end
def create
end
def findsomething
#do something using params and store it into an instance variable
return @thatvariable
end
我想将此响应包含在show.jbuilder文件中。我怎么能这样做?
答案 0 :(得分:1)
视图中提供了每个实例变量,因此不需要使用return
关键字。
Here is the railscast that will help
<强>更新强>
在您的控制器操作中,您可以指定要呈现的视图:
render "show.json.jbuilder"
所以整体代码如下:
def findsomething
#do something using params and store it into an instance variable
@thatvariable
render "show.json.jbuilder"
end
您可以阅读guides了解更多信息。
您可以指定您希望呈现的方式以及控制器#操作中的所有实例变量将以不同方式提供的方式:
render :edit
render action: :edit
render "edit"
render "edit.html.erb"
render action: "edit"
render action: "edit.html.erb"
render "books/edit"
render "books/edit.html.erb"
render template: "books/edit"
render template: "books/edit.html.erb"
render "/path/to/rails/app/views/books/edit"
render "/path/to/rails/app/views/books/edit.html.erb"
render file: "/path/to/rails/app/views/books/edit"
render file: "/path/to/rails/app/views/books/edit.html.erb"
答案 1 :(得分:0)
我们可以在show.json.jbuilder中使用这样的东西来做到这一点。
json.findsomething(@thatvariable)