rails_api_doc 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/MIT-LICENSE +20 -0
- data/README.rdoc +3 -0
- data/Rakefile +40 -0
- data/app/assets/javascripts/rails_api_doc/01 - Singh Saab The Great - DownloadMing.SE.mp3 +0 -0
- data/app/assets/javascripts/rails_api_doc/apis.js +16 -0
- data/app/assets/javascripts/rails_api_doc/application.js +15 -0
- data/app/assets/javascripts/rails_api_doc/jquery-1.3.2.js +19 -0
- data/app/assets/javascripts/rails_api_doc/parameters.js +2 -0
- data/app/assets/javascripts/rails_api_doc/projects.js +2 -0
- data/app/assets/stylesheets/rails_api_doc/apis.css +4 -0
- data/app/assets/stylesheets/rails_api_doc/application.css +8381 -0
- data/app/assets/stylesheets/rails_api_doc/parameters.css +4 -0
- data/app/assets/stylesheets/rails_api_doc/projects.css +4 -0
- data/app/assets/stylesheets/scaffold.css +56 -0
- data/app/controllers/rails_api_doc/apis_controller.rb +149 -0
- data/app/controllers/rails_api_doc/application_controller.rb +4 -0
- data/app/controllers/rails_api_doc/parameters_controller.rb +87 -0
- data/app/controllers/rails_api_doc/projects_controller.rb +87 -0
- data/app/helpers/rails_api_doc/apis_helper.rb +29 -0
- data/app/helpers/rails_api_doc/application_helper.rb +4 -0
- data/app/helpers/rails_api_doc/parameters_helper.rb +4 -0
- data/app/helpers/rails_api_doc/projects_helper.rb +4 -0
- data/app/models/rails_api_doc/api.rb +14 -0
- data/app/models/rails_api_doc/failure_response.rb +8 -0
- data/app/models/rails_api_doc/parameter.rb +7 -0
- data/app/models/rails_api_doc/project.rb +7 -0
- data/app/models/rails_api_doc/success_response.rb +8 -0
- data/app/views/layouts/rails_api_doc/application.html.erb +14 -0
- data/app/views/rails_api_doc/apis/_failure_response_fields.html.erb +10 -0
- data/app/views/rails_api_doc/apis/_form.html.erb +66 -0
- data/app/views/rails_api_doc/apis/_parameter_fields.html.erb +17 -0
- data/app/views/rails_api_doc/apis/_success_response_fields.html.erb +10 -0
- data/app/views/rails_api_doc/apis/edit.html.erb +6 -0
- data/app/views/rails_api_doc/apis/index.html.erb +21 -0
- data/app/views/rails_api_doc/apis/new.html.erb +5 -0
- data/app/views/rails_api_doc/apis/show.html.erb +31 -0
- data/app/views/rails_api_doc/parameters/_form.html.erb +33 -0
- data/app/views/rails_api_doc/parameters/edit.html.erb +6 -0
- data/app/views/rails_api_doc/parameters/index.html.erb +29 -0
- data/app/views/rails_api_doc/parameters/new.html.erb +5 -0
- data/app/views/rails_api_doc/parameters/show.html.erb +25 -0
- data/app/views/rails_api_doc/projects/_form.html.erb +25 -0
- data/app/views/rails_api_doc/projects/edit.html.erb +6 -0
- data/app/views/rails_api_doc/projects/index.html.erb +24 -0
- data/app/views/rails_api_doc/projects/new.html.erb +5 -0
- data/app/views/rails_api_doc/projects/show.html.erb +15 -0
- data/config/routes.rb +14 -0
- data/db/migrate/20131026073600_create_rails_api_doc_apis.rb +13 -0
- data/db/migrate/20131026083511_create_rails_api_doc_parameters.rb +12 -0
- data/db/migrate/20131110085503_create_rails_api_doc_success_responses.rb +10 -0
- data/db/migrate/20131117141240_add_column_note_to_rails_api_doc_success_response.rb +5 -0
- data/db/migrate/20131117144700_create_rails_api_doc_failure_responses.rb +11 -0
- data/db/migrate/20131228045156_create_rails_api_doc_projects.rb +10 -0
- data/db/migrate/20131228051342_add_column_project_id_to_rails_api_doc_api.rb +5 -0
- data/lib/rails_api_doc.rb +4 -0
- data/lib/rails_api_doc/engine.rb +6 -0
- data/lib/rails_api_doc/version.rb +3 -0
- data/lib/tasks/rails_api_doc_tasks.rake +4 -0
- data/test/dummy/README.rdoc +261 -0
- data/test/dummy/Rakefile +7 -0
- data/test/dummy/app/assets/javascripts/application.js +15 -0
- data/test/dummy/app/assets/stylesheets/application.css +13 -0
- data/test/dummy/app/controllers/application_controller.rb +3 -0
- data/test/dummy/app/helpers/application_helper.rb +2 -0
- data/test/dummy/app/views/layouts/application.html.erb +14 -0
- data/test/dummy/config.ru +4 -0
- data/test/dummy/config/application.rb +59 -0
- data/test/dummy/config/boot.rb +10 -0
- data/test/dummy/config/database.yml +25 -0
- data/test/dummy/config/environment.rb +5 -0
- data/test/dummy/config/environments/development.rb +37 -0
- data/test/dummy/config/environments/production.rb +67 -0
- data/test/dummy/config/environments/test.rb +37 -0
- data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
- data/test/dummy/config/initializers/inflections.rb +15 -0
- data/test/dummy/config/initializers/mime_types.rb +5 -0
- data/test/dummy/config/initializers/secret_token.rb +7 -0
- data/test/dummy/config/initializers/session_store.rb +8 -0
- data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
- data/test/dummy/config/locales/en.yml +5 -0
- data/test/dummy/config/routes.rb +4 -0
- data/test/dummy/db/development.sqlite3 +0 -0
- data/test/dummy/db/schema.rb +16 -0
- data/test/dummy/db/test.sqlite3 +0 -0
- data/test/dummy/log/development.log +8 -0
- data/test/dummy/public/404.html +26 -0
- data/test/dummy/public/422.html +26 -0
- data/test/dummy/public/500.html +25 -0
- data/test/dummy/public/favicon.ico +0 -0
- data/test/dummy/script/rails +6 -0
- data/test/fixtures/rails_api_doc/apis.yml +15 -0
- data/test/fixtures/rails_api_doc/failure_responses.yml +11 -0
- data/test/fixtures/rails_api_doc/parameters.yml +13 -0
- data/test/fixtures/rails_api_doc/projects.yml +9 -0
- data/test/fixtures/rails_api_doc/success_responses.yml +9 -0
- data/test/functional/rails_api_doc/apis_controller_test.rb +51 -0
- data/test/functional/rails_api_doc/parameters_controller_test.rb +51 -0
- data/test/functional/rails_api_doc/projects_controller_test.rb +51 -0
- data/test/integration/navigation_test.rb +10 -0
- data/test/rails_api_doc_test.rb +7 -0
- data/test/test_helper.rb +15 -0
- data/test/unit/helpers/rails_api_doc/apis_helper_test.rb +6 -0
- data/test/unit/helpers/rails_api_doc/parameters_helper_test.rb +6 -0
- data/test/unit/helpers/rails_api_doc/projects_helper_test.rb +6 -0
- data/test/unit/rails_api_doc/api_test.rb +9 -0
- data/test/unit/rails_api_doc/failure_response_test.rb +9 -0
- data/test/unit/rails_api_doc/parameter_test.rb +9 -0
- data/test/unit/rails_api_doc/project_test.rb +9 -0
- data/test/unit/rails_api_doc/success_response_test.rb +9 -0
- metadata +239 -0
@@ -0,0 +1,56 @@
|
|
1
|
+
body { background-color: #fff; color: #333; }
|
2
|
+
|
3
|
+
body, p, ol, ul, td {
|
4
|
+
font-family: verdana, arial, helvetica, sans-serif;
|
5
|
+
font-size: 13px;
|
6
|
+
line-height: 18px;
|
7
|
+
}
|
8
|
+
|
9
|
+
pre {
|
10
|
+
background-color: #eee;
|
11
|
+
padding: 10px;
|
12
|
+
font-size: 11px;
|
13
|
+
}
|
14
|
+
|
15
|
+
a { color: #000; }
|
16
|
+
a:visited { color: #666; }
|
17
|
+
a:hover { color: #fff; background-color:#000; }
|
18
|
+
|
19
|
+
div.field, div.actions {
|
20
|
+
margin-bottom: 10px;
|
21
|
+
}
|
22
|
+
|
23
|
+
#notice {
|
24
|
+
color: green;
|
25
|
+
}
|
26
|
+
|
27
|
+
.field_with_errors {
|
28
|
+
padding: 2px;
|
29
|
+
background-color: red;
|
30
|
+
display: table;
|
31
|
+
}
|
32
|
+
|
33
|
+
#error_explanation {
|
34
|
+
width: 450px;
|
35
|
+
border: 2px solid red;
|
36
|
+
padding: 7px;
|
37
|
+
padding-bottom: 0;
|
38
|
+
margin-bottom: 20px;
|
39
|
+
background-color: #f0f0f0;
|
40
|
+
}
|
41
|
+
|
42
|
+
#error_explanation h2 {
|
43
|
+
text-align: left;
|
44
|
+
font-weight: bold;
|
45
|
+
padding: 5px 5px 5px 15px;
|
46
|
+
font-size: 12px;
|
47
|
+
margin: -7px;
|
48
|
+
margin-bottom: 0px;
|
49
|
+
background-color: #c00;
|
50
|
+
color: #fff;
|
51
|
+
}
|
52
|
+
|
53
|
+
#error_explanation ul li {
|
54
|
+
font-size: 12px;
|
55
|
+
list-style: square;
|
56
|
+
}
|
@@ -0,0 +1,149 @@
|
|
1
|
+
require_dependency "rails_api_doc/application_controller"
|
2
|
+
|
3
|
+
module RailsApiDoc
|
4
|
+
class ApisController < ApplicationController
|
5
|
+
# GET /apis
|
6
|
+
# GET /apis.json
|
7
|
+
def index
|
8
|
+
@project = Project.find params[:project_id]
|
9
|
+
@apis = @project.apis.page(params[:page]).per(RailsApiDoc::Api::DEFAULT_PAGE_SIZE)
|
10
|
+
|
11
|
+
respond_to do |format|
|
12
|
+
format.html # index.html.erb
|
13
|
+
format.json { render json: @apis }
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
# GET /apis/1
|
18
|
+
# GET /apis/1.json
|
19
|
+
def show
|
20
|
+
@project = Project.find params[:project_id]
|
21
|
+
@api = Api.find(params[:id])
|
22
|
+
|
23
|
+
respond_to do |format|
|
24
|
+
format.html # show.html.erb
|
25
|
+
format.json { render json: @api }
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
# GET /apis/new
|
30
|
+
# GET /apis/new.json
|
31
|
+
def new
|
32
|
+
@project = Project.find params[:project_id]
|
33
|
+
@api = @project.apis.new
|
34
|
+
@parameters = @api.parameters.build
|
35
|
+
@api.success_responses.build
|
36
|
+
@api.failure_responses.build
|
37
|
+
|
38
|
+
respond_to do |format|
|
39
|
+
format.html # new.html.erb
|
40
|
+
format.json { render json: @api }
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
# GET /apis/1/edit
|
45
|
+
def edit
|
46
|
+
@project = Project.find params[:project_id]
|
47
|
+
@api = Api.find(params[:id])
|
48
|
+
end
|
49
|
+
|
50
|
+
# POST /apis
|
51
|
+
# POST /apis.json
|
52
|
+
def create
|
53
|
+
@project = Project.find params[:project_id]
|
54
|
+
@api = @project.apis.new(params[:api])
|
55
|
+
# paramerer_attr = params[:api][:parameters_attributes].delete_if { |k, v| v["name"].blank? }
|
56
|
+
respond_to do |format|
|
57
|
+
if @api.save
|
58
|
+
# paramerer_attr.each do |k, v|
|
59
|
+
# debugger
|
60
|
+
# @api.parameters.create(v)
|
61
|
+
# end
|
62
|
+
format.html { redirect_to project_apis_path, notice: 'Api was successfully created.' }
|
63
|
+
format.json { render json: @api, status: :created, location: @api }
|
64
|
+
else
|
65
|
+
format.html { render action: "new" }
|
66
|
+
format.json { render json: @api.errors, status: :unprocessable_entity }
|
67
|
+
end
|
68
|
+
end
|
69
|
+
end
|
70
|
+
|
71
|
+
# PUT /apis/1
|
72
|
+
# PUT /apis/1.json
|
73
|
+
def update
|
74
|
+
@project = Project.find params[:project_id]
|
75
|
+
@api = @project.apis.find(params[:id])
|
76
|
+
# @api.parameters.build
|
77
|
+
respond_to do |format|
|
78
|
+
if @api.update_attributes(params[:api])
|
79
|
+
format.html { redirect_to project_api_path(@project, @api), notice: 'Api was successfully updated.' }
|
80
|
+
format.json { head :no_content }
|
81
|
+
else
|
82
|
+
format.html { render action: "edit" }
|
83
|
+
format.json { render json: @api.errors, status: :unprocessable_entity }
|
84
|
+
end
|
85
|
+
end
|
86
|
+
end
|
87
|
+
|
88
|
+
# DELETE /apis/1
|
89
|
+
# DELETE /apis/1.json
|
90
|
+
def destroy
|
91
|
+
@project = Project.find params[:project_id]
|
92
|
+
@api = @project.apis.find(params[:id])
|
93
|
+
@api.destroy
|
94
|
+
|
95
|
+
respond_to do |format|
|
96
|
+
format.html { redirect_to project_apis_path }
|
97
|
+
format.json { head :no_content }
|
98
|
+
end
|
99
|
+
end
|
100
|
+
|
101
|
+
def generate_doc
|
102
|
+
@project = Project.find params[:project_id]
|
103
|
+
puts "dir>>>>>>>>>>>>>>>#{Dir.pwd}"
|
104
|
+
project_name = @project.name.gsub(" ", "_")
|
105
|
+
_dir = "app/assets/projects/#{project_name}/"
|
106
|
+
unless File.directory?(_dir)
|
107
|
+
FileUtils.mkdir_p(_dir)
|
108
|
+
end
|
109
|
+
Dir.chdir(_dir) do
|
110
|
+
puts "dir>>>>>>>>>>>>>>>#{Dir.pwd}"
|
111
|
+
apis = @project.apis
|
112
|
+
data = ""
|
113
|
+
params = ""
|
114
|
+
unless apis.blank?
|
115
|
+
apis.each do |api|
|
116
|
+
data += '/**
|
117
|
+
* @api {' "#{api.request_type}" + '}' + " #{api.url}" + " #{api.name}" + "\n" +
|
118
|
+
'* @apiName' + " #{api.name}" + "\n" +
|
119
|
+
'* @apiGroup' + " #{api.api_group}" + "\n" +
|
120
|
+
'* @apiVersion' + " #{api.version}" + "\n" +
|
121
|
+
'*' + (val = api.parameters.blank? ? "\n" : api.parameters.map{|p| "\n" + '* @apiParam {' + "#{p.param_type}" + '}' + " #{p.name}" + " #{p.note}" }.join("")) + "\n" +
|
122
|
+
'* @apiSuccessExample Success-Response:' + (response = api.success_responses.blank? ? "\n" + "*" + "{}" : "\n" + api.success_responses.map{|p| "*" + (note = p.note.blank? ? "" : (p.note + "\n")) + "#{res = p.success_structure.gsub("\r\n", "\n*")}" + "\n"}.join("")) + "\n" +
|
123
|
+
'* @apiErrorExample Error-Response:' + (response = api.failure_responses.blank? ? "\n" + "*" + "{}" : "\n" + api.failure_responses.map{|p| "*" + (note = p.note.blank? ? "" : (p.note + "\n")) + "#{res = p.failure_structure.gsub("\r\n", "\n*")}" + "\n"}.join("")) + "\n" +
|
124
|
+
"*/" + "\n"
|
125
|
+
end
|
126
|
+
|
127
|
+
File.open("api.js", 'w+') {
|
128
|
+
|f| f.write("#{data}")
|
129
|
+
}
|
130
|
+
|
131
|
+
# write package file
|
132
|
+
package_data = '{
|
133
|
+
"name": '+ '"' + @project.name + ' APIDOC",
|
134
|
+
"version": "0.1.0",
|
135
|
+
"description": "Documentation for RESTful web APIs"
|
136
|
+
}'
|
137
|
+
File.open("package.json", 'w+') {
|
138
|
+
|f| f.write("#{package_data}")
|
139
|
+
}
|
140
|
+
|
141
|
+
end
|
142
|
+
system "apidoc"
|
143
|
+
end
|
144
|
+
flash[:notice] = "Api Doc Generated"
|
145
|
+
redirect_to project_apis_path(@project)
|
146
|
+
end
|
147
|
+
end
|
148
|
+
|
149
|
+
end
|
@@ -0,0 +1,87 @@
|
|
1
|
+
require_dependency "rails_api_doc/application_controller"
|
2
|
+
|
3
|
+
module RailsApiDoc
|
4
|
+
class ParametersController < ApplicationController
|
5
|
+
# GET /parameters
|
6
|
+
# GET /parameters.json
|
7
|
+
def index
|
8
|
+
@parameters = Parameter.all
|
9
|
+
|
10
|
+
respond_to do |format|
|
11
|
+
format.html # index.html.erb
|
12
|
+
format.json { render json: @parameters }
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
# GET /parameters/1
|
17
|
+
# GET /parameters/1.json
|
18
|
+
def show
|
19
|
+
@parameter = Parameter.find(params[:id])
|
20
|
+
|
21
|
+
respond_to do |format|
|
22
|
+
format.html # show.html.erb
|
23
|
+
format.json { render json: @parameter }
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
# GET /parameters/new
|
28
|
+
# GET /parameters/new.json
|
29
|
+
def new
|
30
|
+
@parameter = Parameter.new
|
31
|
+
|
32
|
+
respond_to do |format|
|
33
|
+
format.html # new.html.erb
|
34
|
+
format.json { render json: @parameter }
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
# GET /parameters/1/edit
|
39
|
+
def edit
|
40
|
+
@parameter = Parameter.find(params[:id])
|
41
|
+
end
|
42
|
+
|
43
|
+
# POST /parameters
|
44
|
+
# POST /parameters.json
|
45
|
+
def create
|
46
|
+
@parameter = Parameter.new(params[:parameter])
|
47
|
+
|
48
|
+
respond_to do |format|
|
49
|
+
if @parameter.save
|
50
|
+
format.html { redirect_to @parameter, notice: 'Parameter was successfully created.' }
|
51
|
+
format.json { render json: @parameter, status: :created, location: @parameter }
|
52
|
+
else
|
53
|
+
format.html { render action: "new" }
|
54
|
+
format.json { render json: @parameter.errors, status: :unprocessable_entity }
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
59
|
+
# PUT /parameters/1
|
60
|
+
# PUT /parameters/1.json
|
61
|
+
def update
|
62
|
+
@parameter = Parameter.find(params[:id])
|
63
|
+
|
64
|
+
respond_to do |format|
|
65
|
+
if @parameter.update_attributes(params[:parameter])
|
66
|
+
format.html { redirect_to @parameter, notice: 'Parameter was successfully updated.' }
|
67
|
+
format.json { head :no_content }
|
68
|
+
else
|
69
|
+
format.html { render action: "edit" }
|
70
|
+
format.json { render json: @parameter.errors, status: :unprocessable_entity }
|
71
|
+
end
|
72
|
+
end
|
73
|
+
end
|
74
|
+
|
75
|
+
# DELETE /parameters/1
|
76
|
+
# DELETE /parameters/1.json
|
77
|
+
def destroy
|
78
|
+
@parameter = Parameter.find(params[:id])
|
79
|
+
@parameter.destroy
|
80
|
+
|
81
|
+
respond_to do |format|
|
82
|
+
format.html { redirect_to parameters_url }
|
83
|
+
format.json { head :no_content }
|
84
|
+
end
|
85
|
+
end
|
86
|
+
end
|
87
|
+
end
|
@@ -0,0 +1,87 @@
|
|
1
|
+
require_dependency "rails_api_doc/application_controller"
|
2
|
+
|
3
|
+
module RailsApiDoc
|
4
|
+
class ProjectsController < ApplicationController
|
5
|
+
# GET /projects
|
6
|
+
# GET /projects.json
|
7
|
+
def index
|
8
|
+
@projects = Project.all
|
9
|
+
|
10
|
+
respond_to do |format|
|
11
|
+
format.html # index.html.erb
|
12
|
+
format.json { render json: @projects }
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
# GET /projects/1
|
17
|
+
# GET /projects/1.json
|
18
|
+
def show
|
19
|
+
@project = Project.find(params[:id])
|
20
|
+
|
21
|
+
respond_to do |format|
|
22
|
+
format.html # show.html.erb
|
23
|
+
format.json { render json: @project }
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
# GET /projects/new
|
28
|
+
# GET /projects/new.json
|
29
|
+
def new
|
30
|
+
@project = Project.new
|
31
|
+
|
32
|
+
respond_to do |format|
|
33
|
+
format.html # new.html.erb
|
34
|
+
format.json { render json: @project }
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
# GET /projects/1/edit
|
39
|
+
def edit
|
40
|
+
@project = Project.find(params[:id])
|
41
|
+
end
|
42
|
+
|
43
|
+
# POST /projects
|
44
|
+
# POST /projects.json
|
45
|
+
def create
|
46
|
+
@project = Project.new(params[:project])
|
47
|
+
|
48
|
+
respond_to do |format|
|
49
|
+
if @project.save
|
50
|
+
format.html { redirect_to @project, notice: 'Project was successfully created.' }
|
51
|
+
format.json { render json: @project, status: :created, location: @project }
|
52
|
+
else
|
53
|
+
format.html { render action: "new" }
|
54
|
+
format.json { render json: @project.errors, status: :unprocessable_entity }
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
59
|
+
# PUT /projects/1
|
60
|
+
# PUT /projects/1.json
|
61
|
+
def update
|
62
|
+
@project = Project.find(params[:id])
|
63
|
+
|
64
|
+
respond_to do |format|
|
65
|
+
if @project.update_attributes(params[:project])
|
66
|
+
format.html { redirect_to @project, notice: 'Project was successfully updated.' }
|
67
|
+
format.json { head :no_content }
|
68
|
+
else
|
69
|
+
format.html { render action: "edit" }
|
70
|
+
format.json { render json: @project.errors, status: :unprocessable_entity }
|
71
|
+
end
|
72
|
+
end
|
73
|
+
end
|
74
|
+
|
75
|
+
# DELETE /projects/1
|
76
|
+
# DELETE /projects/1.json
|
77
|
+
def destroy
|
78
|
+
@project = Project.find(params[:id])
|
79
|
+
@project.destroy
|
80
|
+
|
81
|
+
respond_to do |format|
|
82
|
+
format.html { redirect_to projects_url }
|
83
|
+
format.json { head :no_content }
|
84
|
+
end
|
85
|
+
end
|
86
|
+
end
|
87
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
module RailsApiDoc
|
2
|
+
module ApisHelper
|
3
|
+
|
4
|
+
def link_to_add_fields(name, f, association)
|
5
|
+
new_object = f.object.class.reflect_on_association(association).klass.new
|
6
|
+
fields = f.fields_for(association, new_object, :child_index => "new_#{association}") do |builder|
|
7
|
+
render(association.to_s.singularize + "_fields", :f => builder)
|
8
|
+
end
|
9
|
+
link_to_function(name, ("add_fields(this, '#{association}', '#{escape_javascript(fields)}')"))
|
10
|
+
end
|
11
|
+
|
12
|
+
def link_to_add_success_fields(name, f, association)
|
13
|
+
new_object = f.object.class.reflect_on_association(association).klass.new
|
14
|
+
fields = f.fields_for(association, new_object, :child_index => "new_#{association}") do |builder|
|
15
|
+
render(association.to_s.singularize + "_fields", :f => builder)
|
16
|
+
end
|
17
|
+
link_to_function(name, ("add_success_fields(this, '#{association}', '#{escape_javascript(fields)}')"))
|
18
|
+
end
|
19
|
+
|
20
|
+
def link_to_add_failure_fields(name, f, association)
|
21
|
+
new_object = f.object.class.reflect_on_association(association).klass.new
|
22
|
+
fields = f.fields_for(association, new_object, :child_index => "new_#{association}") do |builder|
|
23
|
+
render(association.to_s.singularize + "_fields", :f => builder)
|
24
|
+
end
|
25
|
+
link_to_function(name, ("add_failure_fields(this, '#{association}', '#{escape_javascript(fields)}')"))
|
26
|
+
end
|
27
|
+
|
28
|
+
end
|
29
|
+
end
|