From 22bf3db41bc02cc7df513d01a9a85b7e47c65979 Mon Sep 17 00:00:00 2001 From: yystopf Date: Mon, 13 Oct 2025 14:35:31 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=EF=BC=9Anode=5Finput?= =?UTF-8?q?=E7=9A=84=E5=8F=82=E6=95=B0=E6=89=80=E5=B1=9E=E7=B1=BB=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../action/node_inputs_controller.rb | 4 +-- app/models/action/node_inputs/env.rb | 25 +++++++++++++++++++ app/models/action/node_inputs/other.rb | 25 +++++++++++++++++++ app/models/action/node_inputs/with.rb | 25 +++++++++++++++++++ app/views/action/node_inputs/_form.html.erb | 6 ++++- .../node_inputs/_node_input.json.jbuilder | 2 +- app/views/action/node_inputs/edit.html.erb | 6 ++++- app/views/action/node_inputs/index.html.erb | 2 ++ ...13060559_add_type_to_action_node_inputs.rb | 5 ++++ 9 files changed, 95 insertions(+), 5 deletions(-) create mode 100644 app/models/action/node_inputs/env.rb create mode 100644 app/models/action/node_inputs/other.rb create mode 100644 app/models/action/node_inputs/with.rb create mode 100644 db/migrate/20251013060559_add_type_to_action_node_inputs.rb diff --git a/app/controllers/action/node_inputs_controller.rb b/app/controllers/action/node_inputs_controller.rb index 6e62c6ef8..39c6a39a6 100644 --- a/app/controllers/action/node_inputs_controller.rb +++ b/app/controllers/action/node_inputs_controller.rb @@ -70,9 +70,9 @@ class Action::NodeInputsController < ApplicationController def node_input_params if params.require(:action_node_input) - params.require(:action_node_input).permit(:name, :input_type, :description, :is_required, :sort_no, :default_value) + params.require(:action_node_input).permit(:name, :type, :input_type, :description, :is_required, :sort_no, :default_value) else - params.permit(:name, :input_type, :description, :is_required, :sort_no, :default_value) + params.permit(:name, :type, :input_type, :description, :is_required, :sort_no, :default_value) end end end diff --git a/app/models/action/node_inputs/env.rb b/app/models/action/node_inputs/env.rb new file mode 100644 index 000000000..733017865 --- /dev/null +++ b/app/models/action/node_inputs/env.rb @@ -0,0 +1,25 @@ +# == Schema Information +# +# Table name: action_node_inputs +# +# id :integer not null, primary key +# action_nodes_id :integer +# name :string(255) +# input_type :string(255) +# description :string(255) +# is_required :boolean default("0") +# sort_no :integer default("0") +# user_id :integer +# created_at :datetime not null +# updated_at :datetime not null +# default_value :string(255) +# type :string(255) default("Action::NodeInputs::With") +# +# Indexes +# +# index_action_node_inputs_on_action_nodes_id (action_nodes_id) +# index_action_node_inputs_on_user_id (user_id) +# + +class Action::NodeInputs::Env < Action::NodeInput +end diff --git a/app/models/action/node_inputs/other.rb b/app/models/action/node_inputs/other.rb new file mode 100644 index 000000000..350cb8c4a --- /dev/null +++ b/app/models/action/node_inputs/other.rb @@ -0,0 +1,25 @@ +# == Schema Information +# +# Table name: action_node_inputs +# +# id :integer not null, primary key +# action_nodes_id :integer +# name :string(255) +# input_type :string(255) +# description :string(255) +# is_required :boolean default("0") +# sort_no :integer default("0") +# user_id :integer +# created_at :datetime not null +# updated_at :datetime not null +# default_value :string(255) +# type :string(255) default("Action::NodeInputs::With") +# +# Indexes +# +# index_action_node_inputs_on_action_nodes_id (action_nodes_id) +# index_action_node_inputs_on_user_id (user_id) +# + +class Action::NodeInputs::Other < Action::NodeInput +end diff --git a/app/models/action/node_inputs/with.rb b/app/models/action/node_inputs/with.rb new file mode 100644 index 000000000..9b683b916 --- /dev/null +++ b/app/models/action/node_inputs/with.rb @@ -0,0 +1,25 @@ +# == Schema Information +# +# Table name: action_node_inputs +# +# id :integer not null, primary key +# action_nodes_id :integer +# name :string(255) +# input_type :string(255) +# description :string(255) +# is_required :boolean default("0") +# sort_no :integer default("0") +# user_id :integer +# created_at :datetime not null +# updated_at :datetime not null +# default_value :string(255) +# type :string(255) default("Action::NodeInputs::With") +# +# Indexes +# +# index_action_node_inputs_on_action_nodes_id (action_nodes_id) +# index_action_node_inputs_on_user_id (user_id) +# + +class Action::NodeInputs::With < Action::NodeInput +end diff --git a/app/views/action/node_inputs/_form.html.erb b/app/views/action/node_inputs/_form.html.erb index a3dc844dc..d94dc672a 100644 --- a/app/views/action/node_inputs/_form.html.erb +++ b/app/views/action/node_inputs/_form.html.erb @@ -16,7 +16,11 @@ <%= form.text_field :name %>
- <%= form.label :input_type, "参数类型" %> + <%= form.label :type, "参数所属类型" %> + <%= form.text_field :type %> +
+
+ <%= form.label :input_type, "参数输入类型" %> <%= form.text_field :input_type %>
diff --git a/app/views/action/node_inputs/_node_input.json.jbuilder b/app/views/action/node_inputs/_node_input.json.jbuilder index 8abae0c84..14c2a62ad 100644 --- a/app/views/action/node_inputs/_node_input.json.jbuilder +++ b/app/views/action/node_inputs/_node_input.json.jbuilder @@ -1,4 +1,4 @@ -json.extract! node_input, :id, :name, :input_type, :description, :is_required, :default_value +json.extract! node_input, :id, :name, :type, :input_type, :description, :is_required, :default_value if node_input.input_type.to_s == "select" json.select node.action_node_selects do |node_select| json.partial! "node_select", locals: { node_select: node_select, node: node } diff --git a/app/views/action/node_inputs/edit.html.erb b/app/views/action/node_inputs/edit.html.erb index a935fb9a0..f515aed33 100644 --- a/app/views/action/node_inputs/edit.html.erb +++ b/app/views/action/node_inputs/edit.html.erb @@ -20,7 +20,11 @@ <%= form.text_field :name %>
- <%= form.label :input_type, "参数类型" %> + <%= form.label :type, "参数所属类型" %> + <%= form.text_field :type %> +
+
+ <%= form.label :input_type, "参数输入类型" %> <%= form.text_field :input_type %>
diff --git a/app/views/action/node_inputs/index.html.erb b/app/views/action/node_inputs/index.html.erb index f070b3dd7..7eb4bb4d8 100644 --- a/app/views/action/node_inputs/index.html.erb +++ b/app/views/action/node_inputs/index.html.erb @@ -10,6 +10,7 @@ ID 参数名称 + 参数所属类型 参数输入类型 参数描述 是否必填项 @@ -24,6 +25,7 @@ <%= info.id %> <%= info.name %> + <%= info.type %> <%= info.input_type %> <% if info.input_type == "select" %> <%= select_tag(:version, options_for_select(@node.action_node_selects.map(&:value)), class: 'form-control') %> diff --git a/db/migrate/20251013060559_add_type_to_action_node_inputs.rb b/db/migrate/20251013060559_add_type_to_action_node_inputs.rb new file mode 100644 index 000000000..826b08344 --- /dev/null +++ b/db/migrate/20251013060559_add_type_to_action_node_inputs.rb @@ -0,0 +1,5 @@ +class AddTypeToActionNodeInputs < ActiveRecord::Migration[5.2] + def change + add_column :action_node_inputs, :type, :string, default: 'Action::NodeInputs::With' + end +end