Rails:使用link_to创建新记录

时间:2014-02-05 20:45:52

标签: ruby-on-rails-4 link-to

当用户点击“新周”链接时,应创建模型周的新记录并将其附加到列表的末尾。

以下是我的观点weeks/index.html.erb

<h1> Weeks </h1>
<%= link_to "New Week", action: :create,  method:"post" %>

<% @weeks.each do |week| %>
<ul>
  <li> <%= link_to week.id, week %> </li>
</ul>
<% end %>

我也不太清楚在周控制器的创建动作中放什么。这就是我到目前为止所拥有的。上面的视图被路由为根。

  def create
    @week = Week.create(params[:week])
    redirect_to root_path
  end

当我点击链接时,它会提交一个POST动作,但没有其他任何事情发生。未创建新记录。我的调试(params)看起来像这样。

--- !ruby/hash:ActionController::Parameters
method: post
action: index
controller: weeks

更新

我通过

来实现它

<%= link_to "New Week", { action: :create, :id => Week.new }, method:"post" %>

但我不确定这是否是正确的方法。有经验的人可以根据这里发生的事情进行扩展吗?

0 个答案:

没有答案