現在、redmineプラグインを開発中です。プラグインによるアクションをアクティビティストリームに表示させたいのですが、また、私のプラグインで作成されたオブジェクトの中から検索することもできます。 私はAlex Bevilacqueのチュートリアルに従いました。私が間違っていることにあなたが何か手がかりがあれば、それは素晴らしいことでしょう!Redmineプラグインでアクティビティを表示するときにカラム名にエラーが発生しました
すべては「プレステージ」に関するものです。
Rails.configuration.to_prepare do
Redmine::Activity.register :prestations
Redmine::Search.available_search_types << 'prestations'
end
:私のinit.rbの先頭に
class Prestation < ActiveRecord::Base
belongs_to :project
validates_presence_of :nom
acts_as_searchable :columns => [ "#{table_name}.nom", "#{table_name}.description"],
:scope => preload(:project),
:date_column => "created_at"
acts_as_event :title => Proc.new { |o| "#{l(:label_title_prestation)} ##{o.id} - #{o.nom}"},
:description => :description,
:datetime => :updated_at,
:type => Proc.new { |o| 'prestation-' + (o.new_status ? 'add' : 'edit') },
:url => Proc.new { |o| {:controller => 'prestations', :action => 'show', :id => o.id, :project_id => o.project} }
acts_as_activity_provider :scope => preload(:project),
:author_key => :author_id,
:type => 'prestations',
:timestamp => :updated_at,
:permission => :activity_presta
end
そして、この:
class CreatePrestations < ActiveRecord::Migration
def change
create_table :prestations do |t|
t.column :nom, :string, :null => false
t.column :description, :text
t.column :project_id, :int, :default => 0
t.column :author_id, :int, :default => 0, :null => false
t.timestamps
end
end
end
そして、このモデル:
私はこれが私のDBを移行するんです
「検索」をクリックすると、すべての通常のレッドラインのフィールドを検索できますが、私の「プレステージス」は検索できません。また、アクティビティストリームを見ると、私はこれを持っている:
ActiveRecord::StatementInvalid (SQLite3::SQLException: no such column: projects.id: SELECT "prestations".* FROM "prestations" WHERE (updated_at BETWEEN '2016-05-20' AND '2016-06-19') AND (((projects.id = 1 OR (projects.lft > 1 AND projects.rgt < 2))) AND (projects.status = 1))):
lib/plugins/acts_as_activity_provider/lib/acts_as_activity_provider.rb:81:in `find_events'
lib/redmine/activity/fetcher.rb:91:in `block (2 levels) in events'
lib/redmine/activity/fetcher.rb:90:in `each'
lib/redmine/activity/fetcher.rb:90:in `block in events'
lib/redmine/activity/fetcher.rb:89:in `each'
lib/redmine/activity/fetcher.rb:89:in `events'
app/controllers/activities_controller.rb:56:in `index'
lib/redmine/sudo_mode.rb:63:in `sudo_mode'
が、私は最初から新しいRedmineのを開始するために、データベースをreseted、私は、サーバーを再ロードし、無駄まで、トークンを変更しました。
なぜ 1私は本当に理解していない)私もRailsはprojects.id」を探すためにしようとします) 2(単にチェックボックスを持つことは素晴らしいことだ)可能性は私の「prestations」の中から検索することができません私が求めるものではありません。
ありがとうございます。