首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Rails5.1.4中,呼叫POST请求不显示路由匹配[GET]错误

在Rails5.1.4中,呼叫POST请求不显示路由匹配[GET]错误
EN

Stack Overflow用户
提问于 2018-01-04 20:05:51
回答 2查看 60关注 0票数 0

我有一个SubscriptionSignupsController

代码语言:javascript
复制
 def create
   @subscription = SubscriptionSignup.new(subscription_params)
   if @subscription.save
     redirect_to @subscription
   else
     render 'new'
   end
 end

我的routes.rb文件包含

代码语言:javascript
复制
resources 'subscription_signups', only: [:create, :new]

当我给localhost:3000/subscription_signups打电话的时候

没有路由匹配会出错

我对new.hmtl.erb文件的看法是,我们使用瞪羚设计系统作为sass

代码语言:javascript
复制
<div class="SubscriptionSignup">
<div class="SubscriptionSignup-content">
    <form class="simple_form Form Form--protectSubmit">
            <div class="email-signup">
            <%= simple_form_for @subscription, html: { class: "Form Form--protectSubmit" } do |f| %>
                <div class="dr-FormField Form-inputWrapper">
                    <div class="gds-FormField-label">

                            <%= f.input :email, placeholder: "Email address"%>
                                    <%= f.input :password, placeholder: "6 Characters Minimum"%>
                                    <%= f.input :password_confirmation, placeholder: "Same as Password"%>
                                <%= f.input :name%>
                                <%= f.input :address_lane_1%>
                                <%= f.input :address_lane_2%>
                                <%= f.input :city%>
                                <div class="Form-InputGroup">

                                                <%= f.label :state %>
                                                <%= select_tag "state", options_for_select(us_states)%>


                                        <%= f.input :zip%>

                                </div>
                            </label>
                        </div>
                    </div>



                <%= f.button :submit, "Review Order", class: "gds-Button Form-button" %>

            <% end %>

        </div>
    </form>
</div>

EN

回答 2

Stack Overflow用户

发布于 2018-01-04 20:20:18

如果@subscription.save成功,那么您的#create操作将重定向到#show,但您没有在路由中定义显示操作。您有两个选项(假设错误是由于#create操作重定向到#show)造成的:

  1. 将缺少的显示路由添加到routes.rb中,如下所示:resources 'subscription_signups', only: [:create, :new, :show]
  2. 将流重定向到redirect_to @subscription以外的其他地方(缺少的显示路由)

有关更多信息,请查看Rails路由文档

票数 1
EN

Stack Overflow用户

发布于 2018-01-04 20:20:58

如果您使用的是simple_form_for,那么您应该可以这样做

Url_for(:操作=> 'create',:控制器=>‘订阅’),:方法=> 'post‘do \f\\ %>

我希望这能帮到你

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48102778

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档