tim*_*xyz 2 forms ruby-on-rails
我想传递一个url和variable在Rails的部分的形式.
方法#1:
这是有效的,但我不想硬编码post_create_path到表单中,因此它也可以用于#update.
new.html.erb
<%= render partial: 'shared/form', locals: { form: @form } %>
Run Code Online (Sandbox Code Playgroud)
_form.html.erb
<%= form_for form, url: post_create_path do |f| %>
...
<% end %>
Run Code Online (Sandbox Code Playgroud)
方法#2:
这不起作用.
new.html.erb
<%= render partial: 'shared/form', locals: { form: @form, url: post_create_path } %>
Run Code Online (Sandbox Code Playgroud)
_form.html.erb
<%= form_for form, url: url do |f| %>
...
<% end %>
Run Code Online (Sandbox Code Playgroud)
错误:
未定义的局部变量或方法`URL"为#<#:0x007f8d4d831fd0>
我也尝试过:
url而不是url:url得到相同的错误.我一直试图让这项工作工作几个小时,感觉我已经没有选择尝试了.任何帮助指出我做错了什么都会非常感激!
您可以通过打开form_for编辑和新视图模板来使用不同的操作,然后将表单对象传递给包含表单的所有字段的部分,这些字段对于创建和更新都是通用的
new.html.erb
<%= form_for @post, :url => { :action => "create" } do |form| %>
<%= render partial: 'shared/form', locals: { f: form } %>
Run Code Online (Sandbox Code Playgroud)
edit.html.erb
<%= form_for @post, :url => { :action => "update" } do |form| %>
<%= render partial: 'shared/form', locals: { f: form } %>
Run Code Online (Sandbox Code Playgroud)
共享/ _form.html.erb
<%= f.text_field :title %>
...
<%= f.submit "Save" %>
<% end %>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2445 次 |
| 最近记录: |