0

Rails3.1アプリでデータテーブルを使用していますが、返されたフィールドの1つ(最後から2番目のフィールド)のルーティングパスを使用しようとするまでは機能します。使用する有効なルーティング パスに関係なく、エラーが表示されるNoMethodError (undefined method 'active_toggle_user_path' for #<UsersDatatable:0x007f9d16cf0188>):

助言がありますか?

def data
  users.map do |user|
    [
      link_to(user.last_name, user),
      user.first_name,
      user.username,
      user.email,
      user.security_role,
      user.last_login_at,
      user.active == true ? 'Disable' : link_to('Enable', active_toggle_user_path(user, :toggle => true), { :confirm => 'Are you sure you want to ENABLE this User?', :class => "enable" }),
      'Delete User?'
    ]
  end
end
4

1 に答える 1

3

を使用して解決Rails.application.routes

class UsersDatatable
  delegate :url_helpers, to: 'Rails.application.routes'

  def data
    users.map do |user|
      [
        link_to(user.last_name, user),
        user.first_name,
        user.username,
        user.email,
        user.security_role,
        user.last_login_at,
        user.active == true ? 'Disable' : link_to('Enable', url_helpers.active_toggle_user_path(user, :toggle => true), { :confirm => 'Are you sure you want to ENABLE this User?', :class => "enable" }),
        'Delete User?'
      ]
    end
  end
end
于 2012-09-06T22:25:04.687 に答える