Forum: Ruby on Rails More than one submit_tag in a single form

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Indu R. (Guest)
on 2008-12-16 09:44
Hai everyone ,
I have a list of users(each user in a row)and an Approve button for each
user. I wish to change the status of the user to be approved when I
click on the Approve button of a user. When I tried getting all the
users in the params hash. I want to get the id of the user according to
which "Approve" button I clicked. How can I implement this one?
Thanks in advance.
Keynan P. (Guest)
on 2008-12-16 10:03
First let me say that your question sounds stupid, because based on the
info you've given us it would be simpler to use multiple forms. However,
you need look no farther that the doc for submit_tag.
http://api.rubyonrails.com/

-K
Randy K. (Guest)
on 2008-12-16 16:01
(Received via mailing list)
On Tuesday 16 December 2008 03:03 am, Keynan P. wrote:
> First let me say that your question sounds stupid, because based on
the
> info you've given us it would be simpler to use multiple forms.
However,
> you need look no farther that the doc for submit_tag.
> http://api.rubyonrails.com/

Replying offlist: Is there any good purpose served by using the word
"stupid" which may lead the OP to infer that you are calling him
stupid.  (Yes, I know you didn't say that.)

Randy K.
Ellen B (Guest)
on 2008-12-16 20:18
(Received via mailing list)
(Woah there, I don't think it sounds stupid. This is a pretty common
sort of thing to want to do in HTML UIs - *without* a separate form
for each.  If you don't know RoR, you wouldn't think to have a single
form for each user listed on the page or whatever; that's not the way
a proficient web developer would approach the problem in conventional
HTML. )

I'm having a similar problem. I'm modifying Redmine. In a form to
create a new bug/issue, there is currently a SUBMIT button to create
the issue and a link to preview the issue. I want the link to be a
button, instead. Here's the code:

<% labelled_tabular_form_for :issue, @issue,
                             :html => {:multipart => true, :id =>
'issue-form'} do |f| %>
    <%= error_messages_for 'issue' %>
    <div class="box">
    <%= render :partial => 'issues/form', :locals => {:f => f} %>
    </div>
  <div class="submitrow">
    <%= submit_tag l(:button_create), :class=> 'but mb' %>
    <%= link_to_remote l(:label_preview),
                       { :url => { :controller => 'issues', :action =>
'preview', :project_id => @project },
                         :method => 'post',
                         :update => 'preview',
                         :with => "Form.serialize('issue-form')",
                         :complete => "Element.scrollTo('preview')"
                       }, :accesskey => accesskey(:preview), :class =>
'but' %>
  </div>
<% end %>

Yes, I can continue to muck with the CSS to get the link to exactly
match the SUBMIT button, but I wondered if it's possible to have the
two SUBMIT buttons going to different actions and how to do it. I'm
not a RoR developer; I'm a UI designer w/ a lot of HTMl/JS experience
and I'm just trying to improve the usability of an existing (complex)
RoR application and customize the look & feel for our site. Sadly,
there's no "RoR for UI Designers Cookbook"

Thanks for any help.

-- EB

(The RoR documentation format is pretty weak, btw. No Search?
Incidentally, when I google [submit_tag ruby on rails] I get
http://api.rubyonrails.org/classes/ActionView/Help...
which doesn't document submit_tab. The RoR documentation site sucks --
no search??

the documentation for submit_tag is at
http://api.rubyonrails.com/classes/ActionView/Help...)

On Dec 16, 12:03 am, Keynan P. <removed_email_address@domain.invalid>
Frederick C. (Guest)
on 2008-12-16 21:19
(Received via mailing list)
On Dec 16, 6:17 pm, Ellen B <removed_email_address@domain.invalid> wrote:

> Yes, I can continue to muck with the CSS to get the link to exactly
> match the SUBMIT button, but I wondered if it's possible to have the
> two SUBMIT buttons going to different actions and how to do it. I'm

Not really. Going to the same url pretty much means it will be the
same action.
You can get the button clicked as a parameter (if i remember correctly
via params[:commit] for a normal submit thing, or you can use <button>
if you want the submitted parameter to be distinct from the label.

Fred
pepe (Guest)
on 2008-12-18 06:04
(Received via mailing list)
Please, correct me if I am wrong, but couldn't you just assign a value
to each submit button that means what you need in your application
(and ID value, for example) then check the value from the params hash?

Pepe

On Dec 16, 2:18 pm, Frederick C. <removed_email_address@domain.invalid>
Ryan B. (Guest)
on 2008-12-18 06:07
(Received via mailing list)
and then you could check the value of the submit button and send it to
the right action:

if params[:commit] == "foo"
   foo
else
   bar
end
This topic is locked and can not be replied to.