ruby-on-rails – 实例变量与ruby上的符号rails(form_for)
发布时间:2020-12-16 21:32:48 所属栏目:百科 来源:网络整理
导读:我刚刚在rails上使用 ruby,并且在Mac OSX上使用2.3版本. 我正在尝试创建一个脚手架创建的相同的功能,但是我自己. 我创建了一个“post”控制器,查看和模型. 在后台控制器中,我有以下内容: class PostController ApplicationController def index end def new
我刚刚在rails上使用
ruby,并且在Mac OSX上使用2.3版本.
我正在尝试创建一个脚手架创建的相同的功能,但是我自己. 我创建了一个“post”控制器,查看和模型. 在后台控制器中,我有以下内容: class PostController < ApplicationController def index end def new @post = Post.new end end 在new.html.erb中,我有以下内容: <h1>New Post</h1> <% form_for :post do |f| %> <%= f.text_field :title %> <% end %> 我注意到在脚手架生成的代码中,为form_for帮助使用了实例变量@post.为什么在脚本生成表单中使用实例变量,如果传递符号:在form_for中的post是完全相同的东西,而符号需要更改路由的配置? 非常感谢你, 解决方法
如果你使用符号:发布它创建
<form action="/posts" method="post"> 如果您使用实例@post 为@post = Post.new你会得到 <form action="/posts/create" class="new_account" id="new_account" method="post"> 为@post = Post.find(1)你会得到 <form action="/posts/update" class="edit_account" id="edit_account_1" method="post"> <input name="_method" type="hidden" value="put"> 如果你有不同的形式为你的新的和你的编辑没有什么大不了,但更多的likey而不是你的新的和你的编辑表单将是相同或接近它 所以如果你使用实例变量@post,你可以把所有的表单代码放入_form,只需调用partial,它会处理其余的,如果你传入新记录或现有记录 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |