gpt4 book ai didi

ruby-on-rails - 部分形式的动态路径?

转载 作者:数据小太阳 更新时间:2023-10-29 08:57:30 25 4
gpt4 key购买 nike

我将如何在部分形式中使用动态路径,该路径可以设置为不同的路径,具体取决于我在哪个页面中调用部分形式?

例如,在我的 _form.html.erb 文件中,在底部,我希望能够根据我调用它的页面动态更改“取消”路径:

<div class="row">
<div class="col-md-6 offset-md-3">
<%= form_for(@chef, :html => {class: "form-horizontal", role: "form" }) do |f| %>

<div class="form-group">
<%= f.label :chefname %>
<%= f.text_field :chefname, class: "form-control",
placeholder: "Chef Name",
autofocus: true %>
</div>

<div class="form-group">
<%= f.label :email %>
<%= f.email_field :email, class: "form-control",
placeholder: "Email" %>
</div>

<div class="form-group">
<%= f.label :password %>
<%= f.password_field :password, class: "form-control",
placeholder: "Must be at least 5 characters" %>
</div>

<div class="form-group">
<%= f.label :password_confrimation, "Confirm Password" %>
<%= f.password_field :password_confrimation, class: "form-control",
placeholder: "Confirm Password" %>
</div>


<div class="form-group">
<%= f.submit "#{action} Account", class: "btn btn-primary" %>
</div>

<% end %>

<%= link_to "Cancel", cancel %>

<hr>

<% if logged_in? && (current_chef == @chef || current_chef.admin?) %>
<%= link_to "Delete Account", chef_path(@chef), method: :delete,
class: "btn btn-sm btn-outline-danger",
data: { confirm: "Are you sure you want to delete this account and all corresponding recipes?" } %>
<% end %>
</div>
</div>

然后在我调用它的 new.html.erb 中,我尝试将“取消”设置为路径。

<%= render "form", action: "Create", cancel: root_path %>

执行此操作的正确方法是什么?它似乎在我的浏览器中工作,但在我的测试中我得到未定义的局部变量或方法“取消”。

ActionView::Template::Error: undefined local variable or method `cancel' for #<#<Class:0x00000001da1e38>:0x0000000322cf10>

最佳答案

你非常接近。您只需将 cancel 指定为 locals 的一部分即可将其传递到部分:

<%= render "form", action: "Create", locals: { cancel: root_path } %>

关于ruby-on-rails - 部分形式的动态路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47822381/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com