How to use the option selected in options_for_select in ruby on rails
I have this dropdown in my Rails application:
<%= select_tag(:report_id, options_for_select([["Summary1", 7], ["Summary2", 6]])) %>
The user selectes a value from the dropdown above and clicks aon a button shown below to generate a PDF :
<%= link_to 'Generate', pdf_path(format: :pdf, report: :report_id), class: 'btn btn-primary' %>
This is my controller function that gets called when the button above is clicked:
def show
init_report_data
respond_to do |format, report|
format.html
format.pdf do
puts "***************** report id" + report.to_s + "*************************"
case report
when 7
report_name = 'summary1'
when 6
report_name = 'summary2'
end
render pdf: "Forecast Report",
template: "forecast/" + report_name + ".html.erb",
disposition: "attachment",
:page_width => '18in',
:page_height => '15in'
end
end
end
The controller function gets called fine but the value of the parameter "report" comes up empty inside the above controller function.
What am I doing wrong here? Please help!
ruby-on-rails drop-down-menu controller
add a comment |
I have this dropdown in my Rails application:
<%= select_tag(:report_id, options_for_select([["Summary1", 7], ["Summary2", 6]])) %>
The user selectes a value from the dropdown above and clicks aon a button shown below to generate a PDF :
<%= link_to 'Generate', pdf_path(format: :pdf, report: :report_id), class: 'btn btn-primary' %>
This is my controller function that gets called when the button above is clicked:
def show
init_report_data
respond_to do |format, report|
format.html
format.pdf do
puts "***************** report id" + report.to_s + "*************************"
case report
when 7
report_name = 'summary1'
when 6
report_name = 'summary2'
end
render pdf: "Forecast Report",
template: "forecast/" + report_name + ".html.erb",
disposition: "attachment",
:page_width => '18in',
:page_height => '15in'
end
end
end
The controller function gets called fine but the value of the parameter "report" comes up empty inside the above controller function.
What am I doing wrong here? Please help!
ruby-on-rails drop-down-menu controller
add a comment |
I have this dropdown in my Rails application:
<%= select_tag(:report_id, options_for_select([["Summary1", 7], ["Summary2", 6]])) %>
The user selectes a value from the dropdown above and clicks aon a button shown below to generate a PDF :
<%= link_to 'Generate', pdf_path(format: :pdf, report: :report_id), class: 'btn btn-primary' %>
This is my controller function that gets called when the button above is clicked:
def show
init_report_data
respond_to do |format, report|
format.html
format.pdf do
puts "***************** report id" + report.to_s + "*************************"
case report
when 7
report_name = 'summary1'
when 6
report_name = 'summary2'
end
render pdf: "Forecast Report",
template: "forecast/" + report_name + ".html.erb",
disposition: "attachment",
:page_width => '18in',
:page_height => '15in'
end
end
end
The controller function gets called fine but the value of the parameter "report" comes up empty inside the above controller function.
What am I doing wrong here? Please help!
ruby-on-rails drop-down-menu controller
I have this dropdown in my Rails application:
<%= select_tag(:report_id, options_for_select([["Summary1", 7], ["Summary2", 6]])) %>
The user selectes a value from the dropdown above and clicks aon a button shown below to generate a PDF :
<%= link_to 'Generate', pdf_path(format: :pdf, report: :report_id), class: 'btn btn-primary' %>
This is my controller function that gets called when the button above is clicked:
def show
init_report_data
respond_to do |format, report|
format.html
format.pdf do
puts "***************** report id" + report.to_s + "*************************"
case report
when 7
report_name = 'summary1'
when 6
report_name = 'summary2'
end
render pdf: "Forecast Report",
template: "forecast/" + report_name + ".html.erb",
disposition: "attachment",
:page_width => '18in',
:page_height => '15in'
end
end
end
The controller function gets called fine but the value of the parameter "report" comes up empty inside the above controller function.
What am I doing wrong here? Please help!
ruby-on-rails drop-down-menu controller
ruby-on-rails drop-down-menu controller
edited Nov 13 '18 at 6:47
Biju
asked Nov 13 '18 at 6:39
BijuBiju
1148
1148
add a comment |
add a comment |
2 Answers
2
active
oldest
votes
The problem is that you're not using a form here.
Use form_tag and keep the select_tag
inside the form_tag
.
Also, You will have to replace link_to
with a submit
button. Don't forget to include the below line inside the form to make the request to respond with pdf
format.
<%= hidden_field_tag :format, :pdf %>
The reason is the link_to
tag don't pass your select_tag
value or any other field value. In this scenario, you've to use form
and there is no other option to it.
Or use JavaScript to replace the id
in url
when the select option changes. Since You're trying to get the show action I assume you need to pass the id in path
.
Hi @abhilashreddy I added a form and converted link_to to button_to: ` <div class="form-group" style="width:40%"> <%= form_tag(, :method => :get) do %> <%= select_tag(:report_id, options_for_select([["Summary1", 7], ["Summary2", 6]])) %> <% end %> </div> <div style="padding-left: 10px;margin-top: -52px;" > <%= button_to 'Generate Report',forecast_report_pdf_path(format: :pdf, report: :report_id), class: 'btn btn-primary' %> </div>` But still no luck! Pls help!
– Biju
Nov 13 '18 at 7:00
seems like you didn't specify the path for the form. it should be something like this <%= form_tag do_some_things_path, method: :get do %>
– Abhilash Reddy
Nov 13 '18 at 7:20
<%= form_tag forecast_report_pdf_path do %> <%= select_tag(:report_id, options_for_select([["Summary1", 7], ["Summary2", 6]])) %> <%= hidden_field_tag :format, :pdf %> <%= submit_tag("Generate Report") %> This code worked. Thanks much for your inputs!
– Biju
Nov 13 '18 at 7:46
add a comment |
<%= form_tag forecast_report_pdf_path do %>
<%= select_tag(:report_id, options_for_select([["Summary1", 7], ["Summary2", 6]])) %>
<%= hidden_field_tag :format, :pdf %>
<%= submit_tag("Generate Report") %>
<% end %>
This code worked. Thanks much for your inputs!
add a comment |
Your Answer
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53275189%2fhow-to-use-the-option-selected-in-options-for-select-in-ruby-on-rails%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
The problem is that you're not using a form here.
Use form_tag and keep the select_tag
inside the form_tag
.
Also, You will have to replace link_to
with a submit
button. Don't forget to include the below line inside the form to make the request to respond with pdf
format.
<%= hidden_field_tag :format, :pdf %>
The reason is the link_to
tag don't pass your select_tag
value or any other field value. In this scenario, you've to use form
and there is no other option to it.
Or use JavaScript to replace the id
in url
when the select option changes. Since You're trying to get the show action I assume you need to pass the id in path
.
Hi @abhilashreddy I added a form and converted link_to to button_to: ` <div class="form-group" style="width:40%"> <%= form_tag(, :method => :get) do %> <%= select_tag(:report_id, options_for_select([["Summary1", 7], ["Summary2", 6]])) %> <% end %> </div> <div style="padding-left: 10px;margin-top: -52px;" > <%= button_to 'Generate Report',forecast_report_pdf_path(format: :pdf, report: :report_id), class: 'btn btn-primary' %> </div>` But still no luck! Pls help!
– Biju
Nov 13 '18 at 7:00
seems like you didn't specify the path for the form. it should be something like this <%= form_tag do_some_things_path, method: :get do %>
– Abhilash Reddy
Nov 13 '18 at 7:20
<%= form_tag forecast_report_pdf_path do %> <%= select_tag(:report_id, options_for_select([["Summary1", 7], ["Summary2", 6]])) %> <%= hidden_field_tag :format, :pdf %> <%= submit_tag("Generate Report") %> This code worked. Thanks much for your inputs!
– Biju
Nov 13 '18 at 7:46
add a comment |
The problem is that you're not using a form here.
Use form_tag and keep the select_tag
inside the form_tag
.
Also, You will have to replace link_to
with a submit
button. Don't forget to include the below line inside the form to make the request to respond with pdf
format.
<%= hidden_field_tag :format, :pdf %>
The reason is the link_to
tag don't pass your select_tag
value or any other field value. In this scenario, you've to use form
and there is no other option to it.
Or use JavaScript to replace the id
in url
when the select option changes. Since You're trying to get the show action I assume you need to pass the id in path
.
Hi @abhilashreddy I added a form and converted link_to to button_to: ` <div class="form-group" style="width:40%"> <%= form_tag(, :method => :get) do %> <%= select_tag(:report_id, options_for_select([["Summary1", 7], ["Summary2", 6]])) %> <% end %> </div> <div style="padding-left: 10px;margin-top: -52px;" > <%= button_to 'Generate Report',forecast_report_pdf_path(format: :pdf, report: :report_id), class: 'btn btn-primary' %> </div>` But still no luck! Pls help!
– Biju
Nov 13 '18 at 7:00
seems like you didn't specify the path for the form. it should be something like this <%= form_tag do_some_things_path, method: :get do %>
– Abhilash Reddy
Nov 13 '18 at 7:20
<%= form_tag forecast_report_pdf_path do %> <%= select_tag(:report_id, options_for_select([["Summary1", 7], ["Summary2", 6]])) %> <%= hidden_field_tag :format, :pdf %> <%= submit_tag("Generate Report") %> This code worked. Thanks much for your inputs!
– Biju
Nov 13 '18 at 7:46
add a comment |
The problem is that you're not using a form here.
Use form_tag and keep the select_tag
inside the form_tag
.
Also, You will have to replace link_to
with a submit
button. Don't forget to include the below line inside the form to make the request to respond with pdf
format.
<%= hidden_field_tag :format, :pdf %>
The reason is the link_to
tag don't pass your select_tag
value or any other field value. In this scenario, you've to use form
and there is no other option to it.
Or use JavaScript to replace the id
in url
when the select option changes. Since You're trying to get the show action I assume you need to pass the id in path
.
The problem is that you're not using a form here.
Use form_tag and keep the select_tag
inside the form_tag
.
Also, You will have to replace link_to
with a submit
button. Don't forget to include the below line inside the form to make the request to respond with pdf
format.
<%= hidden_field_tag :format, :pdf %>
The reason is the link_to
tag don't pass your select_tag
value or any other field value. In this scenario, you've to use form
and there is no other option to it.
Or use JavaScript to replace the id
in url
when the select option changes. Since You're trying to get the show action I assume you need to pass the id in path
.
edited Nov 13 '18 at 8:08
answered Nov 13 '18 at 6:47
Abhilash ReddyAbhilash Reddy
1,1401619
1,1401619
Hi @abhilashreddy I added a form and converted link_to to button_to: ` <div class="form-group" style="width:40%"> <%= form_tag(, :method => :get) do %> <%= select_tag(:report_id, options_for_select([["Summary1", 7], ["Summary2", 6]])) %> <% end %> </div> <div style="padding-left: 10px;margin-top: -52px;" > <%= button_to 'Generate Report',forecast_report_pdf_path(format: :pdf, report: :report_id), class: 'btn btn-primary' %> </div>` But still no luck! Pls help!
– Biju
Nov 13 '18 at 7:00
seems like you didn't specify the path for the form. it should be something like this <%= form_tag do_some_things_path, method: :get do %>
– Abhilash Reddy
Nov 13 '18 at 7:20
<%= form_tag forecast_report_pdf_path do %> <%= select_tag(:report_id, options_for_select([["Summary1", 7], ["Summary2", 6]])) %> <%= hidden_field_tag :format, :pdf %> <%= submit_tag("Generate Report") %> This code worked. Thanks much for your inputs!
– Biju
Nov 13 '18 at 7:46
add a comment |
Hi @abhilashreddy I added a form and converted link_to to button_to: ` <div class="form-group" style="width:40%"> <%= form_tag(, :method => :get) do %> <%= select_tag(:report_id, options_for_select([["Summary1", 7], ["Summary2", 6]])) %> <% end %> </div> <div style="padding-left: 10px;margin-top: -52px;" > <%= button_to 'Generate Report',forecast_report_pdf_path(format: :pdf, report: :report_id), class: 'btn btn-primary' %> </div>` But still no luck! Pls help!
– Biju
Nov 13 '18 at 7:00
seems like you didn't specify the path for the form. it should be something like this <%= form_tag do_some_things_path, method: :get do %>
– Abhilash Reddy
Nov 13 '18 at 7:20
<%= form_tag forecast_report_pdf_path do %> <%= select_tag(:report_id, options_for_select([["Summary1", 7], ["Summary2", 6]])) %> <%= hidden_field_tag :format, :pdf %> <%= submit_tag("Generate Report") %> This code worked. Thanks much for your inputs!
– Biju
Nov 13 '18 at 7:46
Hi @abhilashreddy I added a form and converted link_to to button_to: ` <div class="form-group" style="width:40%"> <%= form_tag(, :method => :get) do %> <%= select_tag(:report_id, options_for_select([["Summary1", 7], ["Summary2", 6]])) %> <% end %> </div> <div style="padding-left: 10px;margin-top: -52px;" > <%= button_to 'Generate Report',forecast_report_pdf_path(format: :pdf, report: :report_id), class: 'btn btn-primary' %> </div>` But still no luck! Pls help!
– Biju
Nov 13 '18 at 7:00
Hi @abhilashreddy I added a form and converted link_to to button_to: ` <div class="form-group" style="width:40%"> <%= form_tag(, :method => :get) do %> <%= select_tag(:report_id, options_for_select([["Summary1", 7], ["Summary2", 6]])) %> <% end %> </div> <div style="padding-left: 10px;margin-top: -52px;" > <%= button_to 'Generate Report',forecast_report_pdf_path(format: :pdf, report: :report_id), class: 'btn btn-primary' %> </div>` But still no luck! Pls help!
– Biju
Nov 13 '18 at 7:00
seems like you didn't specify the path for the form. it should be something like this <%= form_tag do_some_things_path, method: :get do %>
– Abhilash Reddy
Nov 13 '18 at 7:20
seems like you didn't specify the path for the form. it should be something like this <%= form_tag do_some_things_path, method: :get do %>
– Abhilash Reddy
Nov 13 '18 at 7:20
<%= form_tag forecast_report_pdf_path do %> <%= select_tag(:report_id, options_for_select([["Summary1", 7], ["Summary2", 6]])) %> <%= hidden_field_tag :format, :pdf %> <%= submit_tag("Generate Report") %> This code worked. Thanks much for your inputs!
– Biju
Nov 13 '18 at 7:46
<%= form_tag forecast_report_pdf_path do %> <%= select_tag(:report_id, options_for_select([["Summary1", 7], ["Summary2", 6]])) %> <%= hidden_field_tag :format, :pdf %> <%= submit_tag("Generate Report") %> This code worked. Thanks much for your inputs!
– Biju
Nov 13 '18 at 7:46
add a comment |
<%= form_tag forecast_report_pdf_path do %>
<%= select_tag(:report_id, options_for_select([["Summary1", 7], ["Summary2", 6]])) %>
<%= hidden_field_tag :format, :pdf %>
<%= submit_tag("Generate Report") %>
<% end %>
This code worked. Thanks much for your inputs!
add a comment |
<%= form_tag forecast_report_pdf_path do %>
<%= select_tag(:report_id, options_for_select([["Summary1", 7], ["Summary2", 6]])) %>
<%= hidden_field_tag :format, :pdf %>
<%= submit_tag("Generate Report") %>
<% end %>
This code worked. Thanks much for your inputs!
add a comment |
<%= form_tag forecast_report_pdf_path do %>
<%= select_tag(:report_id, options_for_select([["Summary1", 7], ["Summary2", 6]])) %>
<%= hidden_field_tag :format, :pdf %>
<%= submit_tag("Generate Report") %>
<% end %>
This code worked. Thanks much for your inputs!
<%= form_tag forecast_report_pdf_path do %>
<%= select_tag(:report_id, options_for_select([["Summary1", 7], ["Summary2", 6]])) %>
<%= hidden_field_tag :format, :pdf %>
<%= submit_tag("Generate Report") %>
<% end %>
This code worked. Thanks much for your inputs!
edited Nov 21 '18 at 7:42
Abhilash Reddy
1,1401619
1,1401619
answered Nov 13 '18 at 7:47
BijuBiju
1148
1148
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53275189%2fhow-to-use-the-option-selected-in-options-for-select-in-ruby-on-rails%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown