带参数的集合提取不在Backbone Rails中执行

时间:2015-09-17 17:11:38

标签: ruby-on-rails ruby backbone.js collections coffeescript

我现在正在开发Backbone + Rails应用程序,并且无法知道为什么集合中的url设置不起作用。

这是详细信息。

class Entities.Tab extends App.Entities.Model
    #urlRoot: -> Routes.tabs_path()

class Entities.TabsCollection extends App.Entities.Collection
    model: Entities.Tab
    url: -> Routes.tabs_path()

API =
    getCheckedTabs: ->
        tabs = new Entities.TabsCollection
            "url": ->
                Routes.tabs_path recordKey: App.recordKey
        tabs.fetch
            reset: true
        tabs

我的routes.rb文件在下面。

Rails.application.routes.draw do
  resources :records
  resources :tabs
  get 'tabs/:recordKey/checked' => 'tabs#checked'

我的tabs_controller.rb文件位于下方。

class TabsController < ApplicationController
    include TabsHelper
    respond_to :json

    def index
        if params[:recordKey]
            @record = Record.find_by key: params[:recordKey]
            debugger
            @tabs = []
            (1..4).each do |index|
               tab_array = binary_maker @record.instance_variable_get("group_#{index}")
               tab_array.each do |order_in_group|
                   tab = Tab.find_by(group_id: index, order_in_group: order_in_group)
                   @tabs.insert(tab)
               end
            end
            @tabs
        else
            debugger
            @tabs = Tab.all
        end
    end

    def checked
        debugger
        params[:recordKey]
    end
end

当我通过运行getCheckedTabs函数来调试这个应用程序时,我注意到调用了tabs / index动作的else语句,但是我想要的是第一个如果部分标签/索引操作或标签/检查操作,如果前一个不是可能。

你能帮帮我吗?

1 个答案:

答案 0 :(得分:1)

通过显式网址插入,我可以解决这个问题。

即,

application_controller