Ruby on Rails - 在一个视图中执行多个操作

时间:2014-10-09 22:52:39

标签: ruby-on-rails rest web-applications crud

我目前正致力于一个名为" Gradebook"这将在Ruby on Rails中实现。在成绩簿的其中一个页面中,要求教师能够添加,删除或更新作业。

我是Ruby on Rails的初学者,所以我经历了几个教程并意识到我可以简单地定义"赋值"作为路由文件中的资源。我对此方法的唯一问题是每个CRUD操作,都有一个与之关联的特定URL(例如:" / assignment / new"或" / assignment /:id / edit&#34 )。但是在我的情况下,我希望能够在单个视图中执行多个CRUD操作。

我的想法是让一个控制器操作与我的视图相关联。该视图将包含多个提交按钮,这些按钮将命名为"添加","删除"和"编辑"分别。每个提交按钮的值将传递给单个控制器操作,代码将根据传递的值执行。例如:

def my_view_name
    #So all assignments can be viewed in a table       
    @assignments = Assignment.all        

    if params[:commit] == 'Add'
        #Save assignment to database 
    elsif params[:commit] == 'Remove'
        #Remove assignment from database
    elsif params[:commit] == 'Edit'
        #Update assignment in database
    end
end

但这是否是实现在单个视图中执行多个CRUD操作的最佳方式?

1 个答案:

答案 0 :(得分:1)

查看这个问题。

Rails: Multi-submit buttons in one Form

那里的答案链接到这个railscast。

http://railscasts.com/episodes/38-multibutton-form