Ruby on rails 将参数添加到呈现轨道上的URL

Ruby on rails 将参数添加到呈现轨道上的URL,ruby-on-rails,ruby-on-rails-4,rendering,Ruby On Rails,Ruby On Rails 4,Rendering,在控制器上呈现视图时,是否可以将参数添加到url? 这里我试图在url上添加tab=2,这样我的新url看起来像localhost:3000/organizations/new?tab=2 我尝试了以下代码 render 'organizations/new', tab: 2 但它既不更改URL,也不在URL上添加参数,而只是呈现视图 我还尝试了render'organizations/new?tab=2'它抛出ActionView::MissingTemplate 编辑1 这是我的组织/ne

在控制器上呈现视图时,是否可以将参数添加到url? 这里我试图在url上添加
tab=2
,这样我的新url看起来像
localhost:3000/organizations/new?tab=2

我尝试了以下代码

render 'organizations/new', tab: 2
但它既不更改URL,也不在URL上添加参数,而只是呈现视图

我还尝试了
render'organizations/new?tab=2'
它抛出
ActionView::MissingTemplate

编辑1 这是我的组织/new.html.erb代码

    <!-- START PAGE CONTAINER -->
<div class="page-container page-navigation-top-fixed" id="organization-new">
  <!-- PAGE CONTENT -->
  <%= render 'shared/navigation' %>
  <div class="page-content">
    <%= render 'shared/header' %>
    <!-- PAGE CONTENT WRAPPER -->
    <div class="page-content-wrap">
      <div class="row">
        <div class="col-md-12">
          <div class="panel panel-default tab-panel">
            <div class="panel-body">
              <div class="tab-container" id="tabs">
                <ul class="nav nav-tabs" role="tablist">
                  <li class="active">
                    <a href="#tab-1" data-toggle="tab">
                      <%= t('admins.create_organization') %>
                    </a>
                  </li>
                  <li class="disabled">
                    <a href="#tab-2" data-toggle="tab" class="disabled">
                      <%= t('organization.add_profile') %>
                    </a>
                  </li>
                </ul>

                <div class="org tab-content">
                  <div class="tab-pane fade in active" id="tab-1">
                    <h3></h3>
                    <%= render 'organizations/add_edit_org_form' %>
                  </div>
                  <div class="tab-pane fade" id="tab-2">
                    <h3></h3>
                    <%= render 'organizations/add_business_profile_tab' %>
                  </div>
                </div>
              </div>
            </div>
          </div>
        </div>
      </div>
    </div>
    <!-- END PAGE CONTENT WRAPPER -->
    <%= render 'shared/footer' %>
  </div>
  <!-- END PAGE CONTENT -->
</div>
<!-- END PAGE CONTAINER -->

这是我的“组织/添加\编辑\组织\表单”部分,在第一个选项卡上呈现

    <%= form_for (@organization), html: {class: 'form-horizontal organization-form', id: 'add_edit_organization'} do |f| %>
    <div class="form-group">
      <%= f.label(:name, t('organization.label_name'), class: 'col-md-3 col-xs-12 control-label') %>
      <div class="col-md-4 col-xs-12">
        <%= f.text_field(:name, class: 'form-control', organization_id: @organization.id) %>
        <span class="org-error-block text-danger text-danger" id="organization_name_error"></span>
      </div>
    </div>
    <div class="form-group">
      <%= f.label(:abbreviation, t('organization.label_abbr'), class: 'col-md-3 col-xs-12 control-label') %>
      <div class="col-md-4 col-xs-12">
        <%= f.text_field(:abbreviation, class: 'form-control', organization_id: @organization.id) %>
        <span class="org-error-block text-danger text-danger" id="organization_abbreviation_error"></span>
      </div>
    </div>
    <div class="form-group">
      <%= f.label(:organization_type, t('organization.label_type'), class: 'col-md-3
      col-xs-12 control-label') %>
      <div class="col-md-4 col-xs-12">
        <%= f.select(:organization_type, options_for_organization_type, {}, class: 'form-control select') %>
        <span class="org-error-block text-danger text-danger" id="organization_type_error"></span>
      </div>
    </div>
    <div class="form-group">
      <%= f.label(:primary_currency, t('organization.label_primary_currency'), class: 'col-md-3 col-xs-12 control-label') %>
      <div class="col-md-4 col-xs-12">
        <%= f.select(:primary_currency, options_for_primary_currency, {}, class: 'form-control select') %>
        <span class="org-error-block text-danger text-danger" id="organization_primary_currency_error"></span>
      </div>
    </div>
    <div class="form-group">
      <%= f.label(:status, t('organization.label_status'), class: 'col-md-3 col-xs-12 control-label') %>
      <div class="col-md-4 col-xs-12">
        <%= f.select(:status, options_for_status, {}, class: 'form-control select') %>
        <span class="org-error-block text-danger text-danger" id="organization_status_error"></span>
      </div>
    </div>
    <div class="form-group">
      <%= f.label(:country_id, t('organization.label_country'), class: 'col-md-3 col-xs-12
      control-label') %>
      <div class="col-md-4 col-xs-12 select-country-options">
        <%= f.select(:country_id, options_for_countries, {}, class: 'form-control select') %>
        <span class="org-error-block text-danger text-danger" id="organization_country_id_error"></span>
      </div>
    </div>
    <div class="form-group">
      <%= f.label(:payment_method_id, t('organization.label_payment_method'), class: 'col-md-3 col-xs-12 control-label') %>
      <div class="col-md-4 col-xs-12">
        <%= f.select(:payment_method_id, options_for_payment_methods, {}, class: 'form-control select') %>
      </div>
    </div>
    <div class="panel-footer">

      <button class="btn btn-primary ajax-spinner pull-right">
        <%= t('organization.label_submit') %>
        <span class="fa fa-floppy-o fa-right"></span>
      </button>
      <i class="fa fa-spinner fa-pulse fa-2x pull-right"></i>
    </div>
<% end %>

这是我的另一个部分“组织/添加\业务\配置文件\选项卡”,它呈现在第二个选项卡上

<%= form_for (@business_profile), html: {class: 'form-horizontal', id: 'add_business_profile', multipart: true} do |f| %>
<div class="form-group">
  <label class="col-md-3 col-xs-12  control-label"><%= t('business_profile.upload_your_logo') %></label>
  <div class="col-md-4 col-xs-12 ">
    <div class="image-frame" id="upload_logo_div">
      <%= image_tag 'upload.jpg', class: 'image-frame', id: 'logo_image' %>
    </div>
    <%= f.file_field(:logo, id: 'logo_upload_btn') %>
    <span class="org-error-block text-danger text-danger" id="logo_upload_btn_error"></span>
    <div id="date_picker_container"></div>
  </div>
</div>
<div class="form-group">
  <%= f.hidden_field(:organization_id, value: @organization.id, id: 'organization_id') %>
  <%= f.label(:email, t('business_profile.email'), class: 'col-md-3 col-xs-12 control-label') %>
  <div class="col-md-4 col-xs-12">
    <%= f.text_field(:email, class: 'form-control', organization_id: @organization_id) %>
    <span class="org-error-block text-danger text-danger" id="business_profile_email_error"></span>
  </div>
</div>
<div class="form-group">
  <%= f.label(:address, t('business_profile.address'), class: 'col-md-3
  col-xs-12 control-label') %>
  <div class="col-md-4 col-xs-12">
    <%= f.text_field(:address, class: 'form-control') %>
    <span class="org-error-block text-danger text-danger" id="business_profile_address_error"></span>
  </div>
</div>
<div class="form-group">
  <%= f.label(:phone, t('business_profile.phone'), class: 'col-md-3 col-xs-12 control-label') %>
  <div class="col-md-4 col-xs-12">
    <%= f.text_field(:phone, class: 'form-control') %>
    <span class="org-error-block text-danger text-danger" id="business_profile_phone_error"></span>
  </div>
</div>
<div class="form-group">
  <%= f.label(:contact_person_name, t('business_profile.contact_person_name'), class: 'col-md-3 col-xs-12 control-label') %>
  <div class="col-md-4 col-xs-12">
    <%= f.text_field(:contact_person_name, class: 'form-control') %>
    <span class="org-error-block text-danger text-danger" id="business_profile_contact_person_name_error"></span>
  </div>
</div>

<div class="form-group ">
  <%= f.label(:registration_date, t('business_profile.registration_date'), class: 'col-md-3 col-xs-12
  control-label') %>
  <div class="col-md-4 col-xs-12">
    <%= f.text_field(:registration_date, class: 'form-control', autocomplete: 'off', value: @business_profile.registration_date.nil? ? '' : @business_profile.registration_date.strftime('%m/%d/%Y')) %>
    <span class="org-error-block text-danger text-danger" id="business_profile_registration_date_error"></span>
  </div>
</div>

<div class="form-group">
  <div class="col-md-4 col-xs-12">
    <%= f.hidden_field(:organization_id) %>
    <input type="hidden" value=<%= Date.today.strftime('%Y-%m-%d') %> name="today_date" id="today_date">
    <span class="org-error-block text-danger text-danger" id="business_profile_organization_id_error"></span>
  </div>
</div>

<div class="panel-footer">
  <button class="btn btn-primary pull-right">
    <%= t('business_profile.label_submit') %>
    <span class="fa fa-floppy-o fa-right"></span>
  </button>
</div>

笔记 在提交成功和失败案例的表单后,我想停留在第二个选项卡上。

试试这个

render 'organizations/new', :locals => {tab:2}
另一个解决方案: 在“新建组织”链接上按如下方式传递选项卡

link_to 'New Organization', new_organization_path(tab: 2)
这和你想要的完全一样

localhost:3000/organizations/new?tab=2
试试这个

render 'organizations/new', :locals => {tab:2}
另一个解决方案: 在“新建组织”链接上按如下方式传递选项卡

link_to 'New Organization', new_organization_path(tab: 2)
这和你想要的完全一样

localhost:3000/organizations/new?tab=2

通常,当在控制器中执行
render
方法时,它会解析案例中的目标视图模板
organizations/new
。它与更改HTTP请求URL和参数无关

相反,你喜欢这样

form_for (@organization, url: organization_path(@organization, tab: 2) )
这将在请求完成后使地址栏中的params
tab=2

此外,术语
tab=2
似乎不是固定的,它可能会在运行时更改,因此您可以使用jQuery修改
表单的
action
属性,如

$('#target_form').attr('action', old_value + '?tab=2');

通常,当在控制器中执行
render
方法时,它会解析案例中的目标视图模板
organizations/new
。它与更改HTTP请求URL和参数无关

相反,你喜欢这样

form_for (@organization, url: organization_path(@organization, tab: 2) )
这将在请求完成后使地址栏中的params
tab=2

此外,术语
tab=2
似乎不是固定的,它可能会在运行时更改,因此您可以使用jQuery修改
表单的
action
属性,如

$('#target_form').attr('action', old_value + '?tab=2');

你能在
new.html.erb
中发布你的
organizations/new.html.erb
吗?在
new.html.erb
中,你正在使用
form\u来发布你的
@bipashant@Prashant4020是的,我正在使用form_for然后请像这样使用
2)%>
请发布你的
组织/new.html.erb
你能发布你的
组织/new.html.erb
吗?在
new.html.erb
中你正在使用
form_for
@bipashant@Prashant4020是的,我正在使用表单,然后请像这样使用
2)%>
请发布你的
组织/new.html.erb
对不起,我没有这么做。对不起,我没有这么做。谢谢你再次救了我谢谢你再次救了我