Rails 如何让 form_for 中的按钮与外面的按钮在同一列?

fantast_xue · 2014年07月29日 · 最后由 jay_li 回复于 2014年07月30日 · 1981 次阅读

是这样的:有一个编辑框和一个保存按钮,现在想加一个‘Cancel’按钮返回到前一页。想把‘Cancel’和‘Save’按钮挨在一起放在同一行,结果查了很久资料都没有找到方法。erb 中的代码如下:

<%= form_for :topic, url: topics_path do |f| %>
……
      <%= f.submit value:'Save' %>
<% end %>

<%= button_to 'Cancel', topics_path, class:'button', method: :get %>

可以给我个思路或指点下资料吗?

你先把两个标签挨在一起啊。

#1 楼 @Rei 是说改成这样吗:

<%= form_for :topic, url: topics_path do |f| %>
……
      <%= f.submit value:'Save' %>
      <%= button_to 'Cancel', topics_path, class:'button', method: :get %>
<% end %>

提示“Template is missing”。

#2 楼 @fantast_xue 什么 Template missing,错误信息贴全,别想象我坐在你的电脑旁。

#3 楼 @Rei 不好意思,我改回去重新运行了一下,下面是错误信息:

Template is missing
Missing template topics/create, application/create with {:locale=>[:en], :formats=>[:html], :variants=>[], :handlers=>[:erb, :builder, :raw, :ruby, :jbuilder, :coffee]}. Searched in: * "/Projects/opinions/app/views"

如果 button_to 放在 form_for 的外面是正常的。

<%= form_for :topic, url: topics_path do |f| %>
……
      <%= f.submit value:'Save' %>
      <%= link_to 'Cancel', topics_path, class:'button' %>
<% end %>

link_to 确实是可行的。多谢! #5 楼 @Rei

之前没有使用过button_to,查了一下,原来会生成一个form. 学习了。

你的需求使用link_tobutton_tag是最合适的。

推荐rails api, 看 rais api 解释是一方面,最直接的方法是查看的 html 源代码,是否生成了你想的 html 标签代码

需要 登录 后方可回复, 如果你还没有账号请 注册新账号