这是Rails 3.2
我有一个访问列表和一个按钮,我想使用该按钮用show以外的其他视图调用访问。 haml中的按钮代码为:
link_to 'Checkout', render('checkout'), class: 'btn btn-mini btn-danger'
该按钮位于“访问”视图中,“访问/视图”下有我的checkout.html.haml
似乎渲染应该这样做,但不是这样
除了默认的show之外,如何渲染其他视图
答案 0 :(得分:0)
render
我认为应该在控制器动作中调用,我不认为您应该在haml(视图)代码中使用它。
(1)您的haml代码应该类似于
-单击此链接将重定向到访问控制器的checkout
操作。
link_to 'Checkout', checkout_visit_path(visit)
(2)为了使#1正常工作,您应该将其添加到routes.rb
文件中
get '/visits/:id/checkout', to: 'visits#checkout', as: 'checkout_visit'
或者如果您的路线中有资源blabla。rb
resources :visits do
member do
get :checkout
end
end
(3)在checkout
中为visits_controller.rb
动作编写控制器动作
def checkout
visit = Visit.find_by_id(params[:id])
# since we named the controller action as "checkout",
# it will look for a file named 'checkout.html' (for html request), or 'checkout.json' (for json request), etc. automatically (and the code block below may not be needed)
# if for example you want to render another file, do this
respond_to do |format|
format.html { render template: 'some/other/file/to/load' }
end
end