小编Ros*_*eit的帖子

如何在rspec请求规范中设置请求标头?

在控制器规范中,我可以像这样设置http接受标头:

request.accept = "application/json"
Run Code Online (Sandbox Code Playgroud)

但在请求规范中,"请求"对象为零.那我怎么能在这里做呢?

我想将http接受标头设置为json的原因是我可以这样做:

get '/my/path'
Run Code Online (Sandbox Code Playgroud)

而不是这个

get '/my/path.json'
Run Code Online (Sandbox Code Playgroud)

testing json rspec ruby-on-rails

121
推荐指数
9
解决办法
7万
查看次数

如何让rails_admin gem识别带有acts_as_taggable_on tag_lists的模型?

我正在使用rails_admin和acts_as_taggable_on gems设置rails应用程序.

在项目早期尝试确保可以完成此操作时,我在rails_admin github页面上发现了这个问题,导致这个gem仍然在rails_admin github wiki上的插件列表中.所以似乎可以做到.

我首先按照README中的rails_admin,acts_as_taggable_on和rails_admin_tag_list中的设置说明进行操作.我在应用程序上有一些模型,在向它们添加任何标记功能之前,它们会在rails_admin上显示并正常工作.

以下是我尝试将标记添加到的模型示例:

class Location < ActiveRecord::Base
  acts_as_taggable
  acts_as_taggable_on :regions

  private

  def location_params
    params.require(:location).permit(:lat, :long, :tag_list => [], :region_list => [])
  end
end
Run Code Online (Sandbox Code Playgroud)

在这种格式中,我得到一个闪存通知:访问rails管理页面时"无法找到模型'位置'.位置模型也不会显示在模型列表中.

我还没有构建添加数据的页面,但我确实通过rails控制台向我的数据库添加了一个位置,并使用acts_as_taggable_on自述文件中的示例将标签添加到该位置的列表中:

a = Location.new
a.region_list.add("awesome")
Run Code Online (Sandbox Code Playgroud)

执行此操作并再次查看rails_admin页面后,我仍然看到"模型'位置'无法找到"闪存通知.但我也在模型列表中看到位置.

单击位置给出了以下错误:

NoMethodError at /location

undefined method `[]' for #<RailsAdmin::Adapters::ActiveRecord::Property:0x00000101fabd90>
Run Code Online (Sandbox Code Playgroud)

更好的错误显示了

if tag_types.include?(properties[:name]) 
Run Code Online (Sandbox Code Playgroud)

下面的行是故障线:

RailsAdmin::Config::Fields.register_factory do |parent, properties, fields|

  model = parent.abstract_model.model

  if defined?(::ActsAsTaggableOn) && model.taggable?
    tag_types = model.tag_types

    if tag_types.include?(properties[:name])
      name = "#{properties[:name].to_s.singularize}_list".to_sym
      fields << RailsAdmin::Config::Fields::Types::TagList.new(parent, name, properties)

    end
  end
Run Code Online (Sandbox Code Playgroud)

我现在还很新,但似乎目前还没有很多关于这两个宝石之间相互作用的文章.我很感激您可以提供的任何洞察力,以使rails …

ruby-on-rails acts-as-taggable-on rails-admin

5
推荐指数
1
解决办法
804
查看次数