在我的着陆页上我有一个联系表
<%= render 'contacts/form' %>
当对象有效时一切正常。但是我在我的登录页面上呈现此联系表单时遇到问题,其中包含属性错误的信息。
这是我的 Controller :
class ContactsController < ApplicationController
def new
end
def create
@contact = Contact.new(contact_params)
if @contact.save
redirect_to root_url
flash[:success] = "Dziękuję za wysłanie wiadomości"
else
render 'homes/home'
end
end
private
def contact_params
params.require(:contact).permit(:podpis, :wiadomosc, :email, :nickname)
end
end
我的家/主页模板:
<div id="page-content">
<!-- O mnie -->
<%= render 'o_mnie' %>
<!-- Resume -->
<%= render 'resume' %>
<!-- Blog -->
<%= render 'blog' %>
<!-- Portfolio -->
<%#= render 'projekty' %>
<!-- Contact -->
<%= render 'kontakt' %>
</div>
这是我的应用布局
<body>
<%= render 'layouts/header' %>
<div id="page-content">
<%= render 'shared/flashes', flash: flash %>
</div>
<%= yield %>
</body>
当我检查堆栈类似问题时,现在我知道问题在于渲染“homes/home”。这给我错误
Missing partial contacts/_o_mnie, application/_o_mnie with {:locale=>[:pl], :formats=>[:html], :variants=>[], :handlers=>[:erb, :builder, :raw, :ruby, :jbuilder, :coffee]}. Searched in:
当我尝试渲染 root_url 时,我遇到了同样的问题。 我的代码有什么问题?
最佳答案
如果模板被其他 Controller 使用,则必须指定前缀。
更改为:
<div id="page-content">
<!-- O mnie -->
<%= render 'homes/o_mnie' %>
<!-- Resume -->
<%= render 'homes/resume' %>
<!-- Blog -->
<%= render 'homes/blog' %>
<!-- Portfolio -->
<%#= render 'homes/projekty' %>
<!-- Contact -->
<%= render 'homes/kontakt' %>
</div>
关于ruby-on-rails - 当对象无效时从部分渲染表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25665022/