0

我的编辑视图中有以下代码:

<%= form_for @content do |f|%>
  <% if f.text_field :home %>
    <%= f.label :Home %>
    <%= f.text_field :home %>
  <% elsif f.text_field :aboutus %>
  <%= f.label :Abouts %>
  <%= f.text_field :aboutus %>
 <% end %>
<%= f.submit%>

这里@content 包含以下信息:

id: "1", home: "staticcontent", aboutus: "staticcontent"

所以我希望如果有人想编辑主页,他只能看到主页提交表单,如果他选择关于我们,他只能看到关于我们的编辑表单页面。建议我在这个块中使用 if,else 的正确方法是什么?

4

1 回答 1

0

您可以传递一个 URL 参数并使用它。例如:

# in some view
<%= link_to "Edit Homepage", edit_content_path(page: "home")
# this will link to /contents/:id/edit?page=home

然后以您的形式:

<%= form_for @content do |f|%>
  <% if params[:page] == "home" %>
    <%= f.label :home %>
    <%= f.text_field :home %>
  <% else %>
    <%= f.label :about_us %>
    <%= f.text_field :about_us %>
 <% end %>
<%= f.submit%>

请注意,我缩小了标签,并更改aboutusabout_us以便标签正确显示。

于 2013-05-06T10:09:23.290 回答