所以我试图在博客编辑视图中创建一个简单的表单,它只会接收一个id号并将其传递给控制器方法。在我看来,我有
<div class = ''>
<h4><%= _("Foo blog") %></h4>
<ul id='foo' class='inputs-list'>
<%= form_tag foo_path, :method => 'get' do %>
<%= label_tag(:fooid, "Blog ID") %>
<%= text_field_tag(:fooid) %>
<%= submit_tag("submit foo") %>
<% end %>
</ul>
</div>
所以我想点击“submit foo”将ID提交给控制器中的foo动作。
在我的控制器中我有:
def foo
respond_to do |format|
format.html {
if params[:fooid]
redirect_to '/'
else
redirect_to '/'
end
}
end
end
当我运行rake路线时,我得到:
foo /admin/content/foo(.:format) {:controller=>"admin/content", :action=>"foo"}
但每次我点击提交foo时,它都没有达到那种方法,而是表现得就像我试图保存博客文章一样。如何让表单重定向到admin / content控制器中的foo操作?
答案 0 :(得分:1)
您是否在路线中添加了#Foo动作?
您可能有类似于resources :admins
的内容,并应将其更改为
resources :admins do
resources :contents do
member do
post 'foo'
end
end
end
提供更多信息