渲染部分视图时ajax中的动态内容
当用户点击不同的链接时,如何获得动态内容?
视图/仪表板/ index.html.haml
.container - @trips.each do |trip| = link_to trip.id, quick_view_trips_path, remote: true
我很确定quick_view_trips_path
是不正确的,因为所有链接都是这样的:
1 13 51
不知何故,我需要使这些链接动态化,然后当用户点击它时,模态窗口也将是动态的。
如果我用quick_view_trips_path
替换quick_view_trips_path
= link_to trip.id, trip, remote: true
没有任何反应,并且url会更改为正确的url,但我的模态窗口不会通过ajax呈现。 以下是url现在的样子:
1
除了我想用动态内容完成的事情,有没有办法可以改变我的url:
1
是否可以获取?quick_view=on
附加到URL的末尾并使一切工作再次起作用?
以下是我的其余代码:
意见/车次/ quick_view.js.erb
$('body').append('');
意见/车次/ _quick_view.html.haml
.root-container = @trip.title = @trip.image = @trip.more_details
这现在无法正常工作,因为我的应用程序返回undefined method
的routes.rb
resources :trips do collection do get 'quick_view' end end
trips_controller.rb
def quick_view respond_to do |format| format.html # quick_view.html.erb format.js # quick_view.js.erb format.json { render json: @trip } end end
我是否还需要向此控制器添加任何内容以确保通过部分内容生成正确的内容?
怎么样,
-
路径
link_to trip.id, quick_view_trips_path(:js, trip_id: trip.id), remote: true
这将呈现,
1
-
调节器
def quick_view @trip = Trip.find(params[:trip_id]) respond_to do |format| format.html # quick_view.html.erb format.js # quick_view.js.erb format.json { render json: @trip } end end
它将响应
views/trips/quick_view.js.erb
文件