的Rails:PARAMS在format.html {渲染...}
我试图通过PARAMS在控制器方法的format.html
这样的:的Rails:PARAMS在format.html {渲染...}
def create @doc = Doc.new(params[:doc])
respond_to do |format|
if @doc.save
format.html { redirect_to share_url(@doc.user.ftp, @doc) }
else
format.html { render "new", :locals => { :template => @doc.template_id } }
end
end
end
我得到它告诉我,我是一个没有方法错误M在局部变量发出正确的参数:template
:
local_assigns {:template=>4}
有我丢失的东西要得到那个工作?它应该重定向到doc#new
动作,但它会转到doc#index
。有任何想法吗?
回答:
使用控制器内的语法如下:
render "new", :locals => { :template => @doc.template_id }
意味着你渲染new.html.erb
模板,而不是局部的。您无法将局部变量传递给非局部视图。你应该做的是打电话render "new"
,在你需要的时候参照@doc
。
以上是 的Rails:PARAMS在format.html {渲染...} 的全部内容, 来源链接: utcz.com/qa/261340.html