我有一个SubscriptionSignupsController
def create
@subscription = SubscriptionSignup.new(subscription_params)
if @subscription.save
redirect_to @subscription
else
render 'new'
end
end我的routes.rb文件包含
resources 'subscription_signups', only: [:create, :new]当我给localhost:3000/subscription_signups打电话的时候
没有路由匹配会出错
我对new.hmtl.erb文件的看法是,我们使用瞪羚设计系统作为sass
<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>
发布于 2018-01-04 20:20:18
如果@subscription.save成功,那么您的#create操作将重定向到#show,但您没有在路由中定义显示操作。您有两个选项(假设错误是由于#create操作重定向到#show)造成的:
resources 'subscription_signups', only: [:create, :new, :show]redirect_to @subscription以外的其他地方(缺少的显示路由)有关更多信息,请查看Rails路由文档。
发布于 2018-01-04 20:20:58
如果您使用的是simple_form_for,那么您应该可以这样做
Url_for(:操作=> 'create',:控制器=>‘订阅’),:方法=> 'post‘do \f\\ %>
我希望这能帮到你
https://stackoverflow.com/questions/48102778
复制相似问题