Ruby on rails 渲染局部视图时ajax中的动态内容

Ruby on rails 渲染局部视图时ajax中的动态内容,ruby-on-rails,ajax,ruby-on-rails-4,partial-views,unobtrusive-javascript,Ruby On Rails,Ajax,Ruby On Rails 4,Partial Views,Unobtrusive Javascript,当用户单击不同的链接时,如何获取动态内容 views/dashboard/index.html.haml .container - @trips.each do |trip| = link_to trip.id, quick_view_trips_path, remote: true .root-container = @trip.title = @trip.image = @trip.more_details 我很确定quick\u view\u trips\u p

当用户单击不同的链接时,如何获取动态内容

views/dashboard/index.html.haml

.container
  - @trips.each do |trip|
    = link_to trip.id, quick_view_trips_path, remote: true
.root-container
  = @trip.title
  = @trip.image
  = @trip.more_details
我很确定
quick\u view\u trips\u path
是不正确的,因为所有的链接都是这样的:

<a href="/trips/quick_view">1</a>
<a href="/trips/quick_view">13</a>
<a href="/trips/quick_view">51</a>
什么都没有发生,url更改为正确的url,但是我的模式窗口没有通过ajax呈现。下面是url现在的样子示例:

<a href="/trips/slug-title-url-correct">1</a>
views/trips/\u quick\u view.html.haml

.container
  - @trips.each do |trip|
    = link_to trip.id, quick_view_trips_path, remote: true
.root-container
  = @trip.title
  = @trip.image
  = @trip.more_details
这现在也不起作用,因为我的应用程序返回
未定义的方法

routes.rb

$('body').append('<%= j render partial: "trips/quick_view" %>');
resources :trips do
  collection do
    get 'quick_view'
  end
end
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
跳闸控制器.rb

$('body').append('<%= j render partial: "trips/quick_view" %>');
resources :trips do
  collection do
    get 'quick_view'
  end
end
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
    
    这将呈现,

  • 控制器

    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
    
    它将响应
    视图/trips/quick_view.js.erb
    文件