相关疑难解决方法(0)

如何在Rails中为同一表单创建多个提交按钮?

我需要有多个提交按钮.

我有一个表单,它创建一个Contact_Call实例.

一个按钮正常创建它.

另一个按钮创建它但需要具有默认的不同:属性值,并且还需要在控制器中使用的不同但相关的模型上设置属性.

我怎么做?我无法改变路线,所以有没有办法发送一个由[:params]拾取的另一个变量?

如果我这样做,我在控制器中做什么,设置一个案例陈述?

ruby ruby-on-rails form-submit

91
推荐指数
5
解决办法
4万
查看次数

Rails:一个表单中的多提交按钮

假设我有一个文章模型,在文章"新"视图中我有两个按钮,"发布"和"保存草稿".

我的问题是如何知道在控制器中单击了哪个按钮.

我已经有了解决方案,但我认为必须有更好的方法.我目前在视图中使用的是:

<div class="actions">
  <%= f.submit "Publish" %>
  <%= f.submit "Save Draft", :name => "commit" %>
</div>
Run Code Online (Sandbox Code Playgroud)

所以在控制器中,我可以使用params [:commit]字符串来处理该操作.

def create
  @article = Article.new(params[:article])
  if params[:commit] == "Publish"
    @article.status = 'publish'
    // detail omitted
  end

  @article.save
end
Run Code Online (Sandbox Code Playgroud)

但我认为使用视图相关字符串并不好.你能告诉我另一种方法吗?

更新:由于这些按钮的形式相同,所以它们都会进入"创建"动作,这对我来说没问题.我想要的是在创建操作中处理它,例如给Article模型一个'status'列并保持'public'或'draft'.

forms action ruby-on-rails

59
推荐指数
3
解决办法
3万
查看次数

标签 统计

ruby-on-rails ×2

action ×1

form-submit ×1

forms ×1

ruby ×1