Ruby 我想通过一个表单,传输一个参数到控制器。

zzjkevin · 2014年03月19日 · 最后由 miclle 回复于 2014年03月19日 · 1680 次阅读

新手求教: 我的主页如下显示:这里是显示所有的 website 变量,每一个变量后面有一个对应的按钮,然后希望通过一个按钮,把当前 website 的 id,传到 website 控制器。

<% @websites.each do |website| %>

<%= website.id %> <%= website.name %> <%= website.brief %> <%= form_for(@web) do |f| %> <%= f.submit "Follow", class: "btn btn-large btn-primary" %> <%end%>

主页控制器是:@website = Website.all,同时我定义哥一@web = Website.new

我的 website 控制器是:@web = Website.new(params[:web]),但是这个@web.id始终是空的,这个到底怎么把我想要的变量传过来?

  1. 你没有用 markdown,贴的代码少了一个 <% end %>
  2. Website.new 这个时候只是在内存中创建了一个 Website 对象,还没有持久化到数据库,id 当然为空
  3. 你的表单里面什么都没有,表单是用来创建/更新数据的,如果只是传个 id 到后台,为什么不直接写一个 link? 比如: erb <% link_to website.name, website %>
需要 登录 后方可回复, 如果你还没有账号请 注册新账号