Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails,如何提交带有文本链接的表单?_Ruby On Rails_Ruby_Forms - Fatal编程技术网

Ruby on rails Rails,如何提交带有文本链接的表单?

Ruby on rails Rails,如何提交带有文本链接的表单?,ruby-on-rails,ruby,forms,Ruby On Rails,Ruby,Forms,我正在努力使此表单正确提交。以下是我目前掌握的情况: <% form_for(:user, :url => update_user_setting_path, :remote => true, :html => {:method => :post, :class => "search_form general_form"}) do |f| %> update\u user\u setting\u path,:remote=>true,:html=>{

我正在努力使此表单正确提交。以下是我目前掌握的情况:

<% form_for(:user, :url => update_user_setting_path, :remote => true, :html => {:method => :post, :class => "search_form general_form"}) do |f| %> 
update\u user\u setting\u path,:remote=>true,:html=>{:method=>:post,:class=>“search\u form general\u form”})do | f |%>
按钮将显示以下代码:

<li><%= link_to raw("<span class='button approve'><span><span>SAVE</span></span></span>"), :action => 'create' %></li>
创建“%” 我正在使用action create,是否正确

以下是渲染表单标记:

<form method="post" data-remote="true" class="search_form general_form" action="/settings/2/update_user" accept-charset="UTF-8">


我错过了什么?谢谢你的帮助

否,您没有正确使用link_。您需要使用提交标签来提交表单,而不是链接标签,例如:

<% form_for(:user, :url => update_user_setting_path, :remote => true, :html => {:method => :post, :class => "search_form general_form"}) do |f| %>
  ...
  <li><%= f.submit "Save" %></li>
update\u user\u setting\u path,:remote=>true,:html=>{:method=>:post,:class=>“search\u form general\u form”})do | f |%>
...
  • 如果你想使用文本链接,你必须让javascript提交表单。例如,如果使用jQuery,可以执行以下操作:

    <%= link_to 'Save', "#", :onclick=>"$('.search_form').submit()" %>
    
    “$('.search_form').submit()”%>
    
    谢谢您的回答。。。我最终使用了这个,效果非常好:

                  <li><%= link_to raw("<span class='button approve'><span><span>SAVE</span></span></span>"), "index_users", :onclick=>"document.forms['form1'].submit();"%></li>
    
  • “document.forms['form1'].submit();”%>

  • 我喜欢Pan的解决方案,但我更喜欢直接使用表单的ID,您可以从dom_ID(obj)中获得该ID。form_for helper还使用dom_id(obj)来分配表单的id。这样,您就不必手动设置类,也不必意外提交多个共享同一CSS类的表单。看起来有点奇怪,但我通常都有一个自定义的FormBuilder,所以我只添加了一个通用的link\u to\u submit方法来封装它:

    <%= link_to 'Save', "#", :onclick => "$('##{dom_id(@user)}').submit()" %>
    
    “$('##{dom_id(@user)}')。提交()”%>
    
    如果您有jquery,则无需使用id或选择器,只需执行以下操作:

    = link_to 'Save', "#", onclick: "$(this).closest('form').submit()"
    

    这真的不是Rails的问题吗?Ruby和Rails不是一样吗?我从Ruby开始提问…Ruby on Rails!=红宝石。你的问题很具体。您使用的是Rails方法,而不是Ruby。感谢您澄清这一点……您已经了解了。在互联网上寻找合适的治疗方法。也要考虑这样的事情:<代码>
  • “索引XULL用户”,类= >“ALink Link批准”:OnCase= =“$[(′{Frime1)).SuMID();“%>
  • < /代码>。更好的是,甚至不要使用
    span
    。我尝试了你的建议,使用:onclick=>“$”(“#form1”).submit();但它只在Chrome中有时起作用……你知道为什么吗?